2009-12-13 61 views
0

在我的網站上,我呈現了一個內容幻燈片,我正在使用jquery。因此,用戶將點擊一個箭頭,並顯示下一個div(默認隱藏)。在每個格,(是否顯示或不)有包含用戶正在觀看的內容和內容的總結的標題隱藏span標籤...PHP(?)或jQuery(?)更改元標記的最佳方法?

<div id="content" style="display:block"> 
     <h2>Relevance of Oceanography</h2> 
     <p>Some text</p> 
     <span class="hiddentitle" style="display:none">Relevance of Oceanography</span> 
     <span class="hiddencontent" style="display:none">Some content</span> 
    </div> 

    <div id="content" style="display:none"> 
     <h2>Seafloor Spreading and Earthquake Activity</h2> 
     <p>Some text</p> 
     <span class="hiddentitle" style="display:none">Seafloor Spreading and Earthquake Activity</span> 
     <span class="hiddencontent" style="display:none">Some content</span> 
    </div> 

我想要做的是根據當前顯示的div的隱藏內容替換或更新標籤。由於它存儲在數據庫中,我以爲我可以只使用PHP,但後來,我意識到這可能意味着我不得不每次都重新加載頁面,這有點挫敗了幻燈片放映的目的......但是,那麼,如果我使用jQuery的,我很擔心,搜索引擎不會真正看到元的內容,因爲它會在頁面加載後改變...

有沒有辦法做我想要在這裏做,還是我只是SOL?

回答

1

你不需要讓span標籤隱藏起來,因爲他們是一個隱藏的div元素了。

就蜘蛛而言,甚至只是可用性,我建議有一個索引與永久鏈接的直接圖像,那麼你不必擔心你想要做的幻燈片和用戶可以鏈接到一個特定的圖像。

有兩種方法去了解這一點,一個是使用JavaScript來只是改變的div的可見性。這很簡單,只是改變了元素的style.display屬性。

對於這種方法,也有很多預製jQuery的解決方案,如LightboxJS的。下面是他們的聚集列表:

http://bradblogging.com/jquery/9-jquery-slideshow-applications-you-cannot-miss/

另一個是使一個AJAX調用來檢索標記。這限制了初始負載,但可以使圖像之間的切換更慢。

0

搜索引擎在幻燈片放映過程中很可能看不到任何更改。您可能會考慮創建一個Google Sitemap,其中包含您的幻燈片中每個單獨頁面的深層鏈接。您仍然可以使用jQuery來運行您的幻燈片演示,只需通過查詢字符串中的參數提供在任何時候開始幻燈片演示的方法。

0

它往往是一個好主意,用jQuery調味它之前做界面的免費的JavaScript的實現。這樣,你仍然有一個服務器端的邏輯,用於瀏覽沒有javascript的網站的任何人(f.ex searchbots)。

使用點擊事件和預防默認操作,你可以無縫地應用在下一階段使用jQuery或本地JavaScript表象的界面層。有時您可以使用Ajax重新使用服務器端邏輯。