.scroll 函数中的 .offset 函数在 jQuery 中不起作用
Posted
技术标签:
【中文标题】.scroll 函数中的 .offset 函数在 jQuery 中不起作用【英文标题】:.offset function inside .scroll function not works in jQuery 【发布时间】:2015-03-13 06:48:08 【问题描述】:我想在滚动时检测“#select”元素的顶部。我有以下代码:
$(document).ready(function()
$(window).scroll(function()
console.log($('#select').offset().top);
);
);
<div id="select"></div>
但它打印的东西在滚动过程中并不固定,我认为它是 $(window).scrollTop() 的值。当我将 'console.log ...' 放在 '$(window)....' 函数之外时,一切正常。有什么问题?
我现在发现问题出在选择器上。在某些情况下,当我更改 id 时它可以正常工作,但是对于“选择”id 它不起作用并且它一直打印 $(window).scrollTop() 。任何人都可以在这种情况下提供帮助? (可能'#select'元素的css有问题)
【问题讨论】:
语法错误,几乎所有内容都丢失了! 而且它似乎对我来说是固定的 -> jsfiddle.net/8tj34c4w @adeneo,我修复了 OP 问题中的编码错误(根据您的反馈),并且 sn-p 现在按预期运行,;-) @Marventus - 请不要编辑问题的代码。见,How far can I refactor the code in someone else's question? 和 When is it appropriate to edit someone else's code? 糟糕!这是一个打字错误。我真正的代码是你想的代码但是问题没有解决。 【参考方案1】:您可能缺少一些括号...
试试这个...
$(document).ready(function()
$(window).scroll(function()
console.log($('#select').offset().top);
);
);
【讨论】:
以上是关于.scroll 函数中的 .offset 函数在 jQuery 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
07-BOM client offset scroll 的系列
TypeError jQuery offset().top 未定义