use*_*326 20 html javascript jquery
如何在窗口事件上运行jquery函数:加载,调整大小和滚动?
这是我的代码我试图检测div是否可见,然后如果它运行一些ajax代码...
<script>
function topInViewport(element) {
return $(element).offset().top >= $(window).scrollTop() && $(element).offset().top <= $(window).scrollTop() + $(window).height();
}
</script>
<script>
topInViewport($("#mydivname"))
{
// ajax code goes here
}
Run Code Online (Sandbox Code Playgroud)
mat*_*mmo 108
您可以使用以下内容.它们都将window对象包装成jQuery对象.
$(window).load(function () {
topInViewport($("#mydivname"))
});
Run Code Online (Sandbox Code Playgroud)
$(window).resize(function () {
topInViewport($("#mydivname"))
});
Run Code Online (Sandbox Code Playgroud)
$(window).scroll(function () {
topInViewport($("#mydivname"))
});
Run Code Online (Sandbox Code Playgroud)
或使用on以下方法绑定它们:
$(window).on("load resize scroll",function(e){
topInViewport($("#mydivname"))
});
Run Code Online (Sandbox Code Playgroud)
Sac*_*tte 21
您可以将侦听器绑定到一个常用函数 -
$(window).bind("load resize scroll",function(e){
// do stuff
});
Run Code Online (Sandbox Code Playgroud)
或者另一种方式 -
$(window).bind({
load:function(){
},
resize:function(){
},
scroll:function(){
}
});
Run Code Online (Sandbox Code Playgroud)
或者,.bind()您可以使用.on()as bind直接映射到而不是使用on().也许.bind()将来不会出现jquery版本.
$(window).on({
load:function(){
},
resize:function(){
},
scroll:function(){
}
});
Run Code Online (Sandbox Code Playgroud)