Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在检查jquery中的offset().top_Jquery - Fatal编程技术网

正在检查jquery中的offset().top

正在检查jquery中的offset().top,jquery,Jquery,我正在使用此函数检查元素是否在视口中 function topInViewport(element) { return $(element).offset().top >= $(window).scrollTop() && $(element).offset().top<= $(window).scrollTop() + $(window).height(); } 但是,我使用的一个id名为top&因此当我使用topInViewport$top时, 控制台

我正在使用此函数检查元素是否在视口中

function topInViewport(element) {
    return $(element).offset().top >= $(window).scrollTop() && $(element).offset().top<= $(window).scrollTop() + $(window).height();
 }
但是,我使用的一个id名为top&因此当我使用topInViewport$top时,
控制台中出现错误,无法读取null顶部的属性。当我使用任何其他id时,它工作正常。虽然由于某些原因,我无法更改id的名称。有什么解决方法吗?

问题是top是一个javascript保留名称,不应该用作变量名。因此,不要将top传递给函数,而是像topiniewport$top一样使用它。您可以阅读有关javascript保留名称的信息。

如何将top传递到函数中?它是字符串还是前缀?您正在传入jQuery对象本身吗?添加一个您如何调用TopInviewPort的示例可能会有好处。您可以在此基础上进行一些扩展。它可能是可回答的,但不在其当前状态,因为它需要一些推断。您可以展示一个关于如何使用topInViewport的小片段吗?我像这样传递它$topI,简单地将topInViewport$top放在console.log中,以检查它是否返回true或false。@stry-在尝试引用id=top的元素之前,您是否已等待DOM加载?