xRoll.js 886 B

1234567891011121314151617181920212223242526
  1. //滑动监控
  2. var xRoll = function(el,fn){
  3. xRoll.prototype.init(el,fn)
  4. };
  5. xRoll.prototype={
  6. init:function(_el,fn){
  7. _el.attr("data-state",false);//给匹配的元素自定义属性
  8. this.start(_el,fn);//给匹配的元素绑定事件
  9. $(window).on("scroll",function(){//监听滚动条,并执行start函数
  10. xRoll.prototype.start(_el,fn)
  11. })
  12. },
  13. start:function(_el,fn){
  14. $(_el).each(function(){
  15. var _self=$(this);
  16. var xRollTop=$(window).scrollTop();//获取滚动条位置 = 0
  17. var isWindowHeiget=$(window).height();//获取整个浏览器窗口的高度
  18. if(_self.data().state){return}//只允许加载一次
  19. if(xRollTop+isWindowHeiget>$(this).offset().top+10){
  20. fn(_self);
  21. _self.attr("data-state",true);
  22. _self.data().state=true
  23. }
  24. })
  25. }
  26. };