2009-02-09 78 views
0

這將很難解釋,但我會盡我所能。jQuery快速選擇產品鏈接

我有一個3個div的頁面,每個頁面包含每個產品的信息和訂購按鈕。訪客可以點擊產品圖片,它會基本上隱藏所有的div,然後顯示與他們點擊的圖片相關的圖片。

我有一個側邊欄,它在網站的所有頁面上全局運行,它與每個產品有「快速鏈接」。我想知道是否有方法可以將這些內容鏈接到產品頁面,以便人們可以從網站的任何頁面點擊它們,並且會打開產品頁面並顯示他們已經點擊的產品。

我認爲可以通過在產品頁面鏈接的末尾使用#product1,#product2等來完成,但我不太確定如何實現。有沒有人有任何想法?

PS:在產品頁面上,只需檢測產品圖像上的onclick,然後隱藏並顯示一個單獨的DIV(不通過使用#鏈接錨點)即可選擇產品。

回答

0

您想使用錨點。

因此,你在DIV中命名了一個錨點。

<div id="product1"> 
<a name="product1"> 
</div> 

然後,按照您所描述的那樣,使用'#'鏈接到該鏈接。如果您從另一個頁面進行鏈接,請使用完整路徑,如果您是通過同一頁面進行操作,請使用#product1。

<a href="/path/to/page/#product1"> 

現在,您發現的棘手問題是jQuery意識到您已經在頁面加載時請求錨點。這段代碼的確依賴於像上面這樣的構造,其中div的id與錨相同。一小段示例代碼在這裏調用div上的show()方法,其名稱與傳遞給URI的錨點相同。

$(document).ready(function() { 
    var uri = document.location.toString(); 
    if (uri.match("#")) { 
     anchor = uri.split("#")[1]; 
     $('#' + anchor).show(); 
    } 
});