2010-07-15 73 views
3

我希望能够找出页面元素何时打开或关闭查看器屏幕。具体来说,如果用户滚动浏览画布并再次在用户浏览器中再次显示时,我希望能够“关闭”HTML 5画布(Processing.js)脚本。jQuery:通知可见的html元素

这是否有意义?我在想,必须有一些方法让DOM通过ajax发出通知来打开和关闭canvas脚本。

谢谢。

/////////// EDIT(最终代码) ////////// 这里是我使用的最终代码:

$(window).bind('scroll', function(){ 
    var $canvas = $('#canvas'); 
    var pos  = $canvas.offset(); 
    var total = pos.top + $($canvas).height(); 
    var wndtop = $(this).scrollTop(); 

    if(wndtop <= pos || wndtop >= total){ 

    } 

}); 
+0

尝试http://www.appelsiini.net/projects/viewport,它可以让你选择元素,取决于他们目前是否可见,你可以检查每个滚动事件? – Adam 2010-07-15 20:10:04

回答

3

你可以附加一个事件处理程序到window scrolling。像

$(window).bind('scroll', function(){ 
    var $canvas = $('#hlogo'); 
    var pos  = $canvas.offset(); 
    var wndtop = $(this).scrollTop(); 
    var wndleft = $(this).scrollLeft(); 

    if(wndtop <= pos.top && wndleft <= pos.left) 
     $canvas.hide(); 
}); 
0

你可以通过使用DOM属性element.yelement.style,heightwindow.scrollY