我想只在用户到达时才将脚本加载到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);
}
});
答案 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)