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

时间:2015-04-29 12:30:32

标签: 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');
        s.setAttribute('type', 'text/javascript');
        s.src = 'javascript code src which i want to append on scroll';
        document.getElementById('float_div_id').appendChild(s);
    }
});

2 个答案:

答案 0 :(得分:0)

你应该看看waypoint library。当用户滚动某个特定元素时它会触发一个事件,你可以执行一些编码(诱惑?)

var waypoint = new Waypoint({
  element: document.getElementById('thing'),
  handler: function(direction) {
    alert('You have scrolled to a thing')
  }
})

然后在滚动之后,你应该使用$.getScript()和一个单独的JS文件:

  

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

$.getScript('/javascript/myscript.js');

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

$.getScript('/javascript/myscript.js', function() {
    // do something here
});

让我知道这是否适合你:D

答案 1 :(得分:0)

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

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

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