代码之家  ›  专栏  ›  技术社区  ›  superUntitled

jQuery:可见html元素的通知

  •  3
  • superUntitled  · 技术社区  · 14 年前

    我希望能够找出页面元素在查看器屏幕上的显示时间。具体来说,我希望能够“关闭”一个HTML5canvas(Processing.js)脚本,如果用户已经滚动过画布,当它在用户浏览器中再次可见时再打开它。

    这有道理吗?我认为DOM必须有某种方法通过ajax发出通知来打开和关闭canvas脚本。

    谢谢。

    编辑(最终代码) 下面是我使用的最后一个代码:

    $(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 ){ 
    
       }
    
    });
    
    3 回复  |  直到 14 年前
        1
  •  3
  •   jAndy    14 年前

    可以将事件处理程序附加到 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();
    });
    
        2
  •  0
  •   srigi    14 年前

    您可以通过使用DOM属性来实现这一点 element.y , element.style,height window.scrollY .

        3
  •  0
  •   Community leo1    7 年前

    你应该能够根据自己的需要调整下面链接中的代码。 Check if element is visible after scrolling