Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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加载到div中_Javascript_Jquery_Html_Css_Scroll - Fatal编程技术网

当用户滚动位置到达时,将javascript加载到div中

当用户滚动位置到达时,将javascript加载到div中,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,我想让脚本仅在用户到达时加载到div中。我正试图使用jQuery来实现这一点,但没有成功。也许你能帮忙。代码如下: var scrollFromTop = $("#float_div_id").offset().top; $(document).scroll(function () { if ($(this).scrollTop() > scrollFromTop) { var s = document.createElement('script');

我想让脚本仅在用户到达时加载到div中。我正试图使用jQuery来实现这一点,但没有成功。也许你能帮忙。代码如下:

var scrollFromTop = $("#float_div_id").offset().top;

$(document).scroll(function () {
    if ($(this).scrollTop() > scrollFromTop) {
        var s = document.createElement('script');
        s.setAttribute('type', 'text/javascript');
        s.src = 'javascript code src which i want to append on scroll';
        document.getElementById('float_div_id').appendChild(s);
    }
});
你应该看一看。当用户在特定元素上滚动时,它会触发一个事件,您可以执行一些编码(诱人?)

然后在滚动后,应使用单独的JS文件:

描述:使用GET HTTP请求从服务器加载JavaScript文件,然后执行它

如果某些代码需要新的js文件,请小心使用异步:

$.getScript('/javascript/myscript.js', function() {
    // do something here
});
让我知道这是否对您有效:D

在您的情况下,
$(this).scrollTop()
将小于
scrollFromTop

将if条件更改为此,然后重试:

if ($(this).scrollTop() + $(window).height()  > scrollFromTop)

只是一个附带问题:为什么要在DOM中创建脚本元素?它太重了以至于你不能先把它包括进去吗?基本上div是空的。我想附加脚本,该脚本将加载该div中的内容。我不想加载该脚本,直到用户到达该div,当用户到达该div时,我想加载该特定div中的脚本。为什么不实现一个函数,当用户滚动该div时,加载您需要的内容?我的意思是,我不明白为什么你会加载脚本而不是内容。什么不起作用?添加一个
console.log
以检查
scrollTop()
值是否超出偏移量。@briosheje您能给我一个简单的JSFIDLE示例吗?我的问题是console.log给我一条消息,说明我已滚动到特定点,但是没有加载内容。您是否正在尝试将HTML或Javascript代码放入“float\u div\u id”中?我正在尝试加载JavaScription由于您似乎使用jQuery,您应该尝试使用$.getScript():D。我将更新我的答案,包括此解决方案!在我的例子中,问题是console.log给了我一条消息,我已经滚动到了特定的点,但是内容没有被加载。
$.getScript('/javascript/myscript.js', function() {
    // do something here
});
if ($(this).scrollTop() + $(window).height()  > scrollFromTop)