2012-03-13 117 views
2

正在處理觸發div可見性的錨點。如果我使用Jquery 1.3.2庫運行它,但沒有任何問題,但是當我嘗試使用1.7.1時,它無法識別。有任何想法嗎?滾動錨點顯示/隱藏

$(function() { 
var a = function() { 
var windowtop = $(window).scrollTop(); 
var d = $("#anchor").offset({scroll:false}).top; 
var c= $("#flyout"); 
if (windowtop > d) { 
    c.css({visibility:"visible"}); 
} else { 
    if (windowtop <= d) { 
    c.css({visibility:"hidden"}); 
    } 
} 
}; 
$(window).scroll(a);a() 
}); 
}); 
+0

你的瀏覽器的錯誤控制檯說什麼? – 2012-03-13 20:56:11

+0

瀏覽器控制檯不顯示任何錯誤。只是沒有得到承認,所以滾動過去的定位點不會觸發知名度 – andrew 2012-03-13 23:56:24

回答

0

d似乎總是返回undefined

我懷疑你的代碼因爲你作爲參數傳入的{scroll:false}對象而中斷offset()。刪除它可能會解決您的問題。

檢查jQuery().offset() API;

jQuery(elem).offset()返回包含該元素的頂部和左側座標的對象。可以用作jQuery(elem).offset().top;

jQuery(elem).offset({top:20, left:20});設置元素的新的頂部和左側座標。

+0

謝謝皮埃爾,做了伎倆 – andrew 2012-03-14 23:48:50