首页 > 其他 > 详细

angular浏览器滚动条滚动到指定element 触发事件

时间:2017-03-15 14:27:25      阅读:774      评论:0      收藏:0      [点我收藏+]
angular.module(‘app‘).directive(‘ScrollTrigger‘, () => {
    return {
      restrict: "A",
      link:function ($scope,$element,$attrs,$controller) {
        function debounce(fn, delay) {
          let timer = null;
          return function () {
            let context = this;
            let args = arguments;
            clearTimeout(timer);
            timer = setTimeout(function () {
              fn.apply(context, args);
            }, delay);
          }
        }
        let trigger=debounce(() => {
          if ($element.is(":hidden")) {
            return;
          }
          if (($(window).scrollTop() + $(window).height()) > ($element.offset().top + 5)) {
            if (!$scope.$eval($attrs.zScrollTrigger)) {
              $element.trigger("click");
            }
          }
        }, 100);
        $(window).scroll(trigger);
        $scope.$on("destroy",()=>{
          $(window).unbind("scroll",trigger);
        })
      }
    }
  })

 

angular浏览器滚动条滚动到指定element 触发事件

原文:http://www.cnblogs.com/Zoes/p/6553798.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!