Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 仅当脚本位于视口中时执行脚本_Javascript_Jquery_Html_Viewport - Fatal编程技术网

Javascript 仅当脚本位于视口中时执行脚本

Javascript 仅当脚本位于视口中时执行脚本,javascript,jquery,html,viewport,Javascript,Jquery,Html,Viewport,只有当脚本本身在浏览器视口中时,我才能在页面上执行JavaScript,这意味着:假设我在页面底部有一个脚本,我希望只有当用户将页面滚动到最后时才能加载该脚本 如果您想加载图像,但不想加载脚本,我发现了一些东西: 有可能吗 cheers您可以根据HTML/DOM元素的可见性触发脚本,因为脚本实际上不会进入设备的视口。您可以执行以下操作: <script type="text/javascript"> if($("element").scrollTop() == 0) { // or

只有当脚本本身在浏览器视口中时,我才能在页面上执行JavaScript,这意味着:假设我在页面底部有一个脚本,我希望只有当用户将页面滚动到最后时才能加载该脚本

如果您想加载图像,但不想加载脚本,我发现了一些东西:

有可能吗


cheers

您可以根据HTML/DOM元素的可见性触发脚本,因为脚本实际上不会进入设备的视口。您可以执行以下操作:

<script type="text/javascript">
if($("element").scrollTop() == 0) { // or some other value, I am taking 0 which means when the element has 0px distance and is currently visible

// Do some action here

}
</script>

如果($(“element”).scrollTop()==0{//或其他一些值,则取0,这意味着元素的距离为0px且当前可见
//在这里做些动作
}

脚本并不真正“进入视口”。在DOM中使用某个元素作为目标元素,监视其位置,在适当的时候执行。你是什么意思?要在DIV中添加我的脚本并引用DIV:if($((“DIV:mydiv”).scrollTop()==0){//Do some action here}否,实际上我的意思是,只要屏幕上有HTML元素,就可以触发脚本。当用户滚动到网页的特定部分时,您可以使用上述代码触发脚本。上面的代码表示当滚动时到达页面上的$(“元素”)时。另外,我想告诉您,您不能像图像那样延迟加载脚本,但仍然可以使用脚本标记中的“defer”属性延迟它们。如果您在页脚部分编写脚本标记,则在web浏览器解析页脚代码时将加载脚本标记。嘿,zafar,我试过了,但不起作用:(我使用一个简单的警报进行测试:“警报(“你好!我是一个警报框!!”)”);但没有成功。这就是为什么我问是否应该更改元素。我还加载: