2012-03-13 81 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