项目常用功能模块(4)-angular 鼠标移到某一元素上,滚动条左右移动

项目中,鼠标移到某一元素上,滚动条左右移动,案例中是在bootstrap-table上,结合jquery.mousewheel.js,但思路相通。

module.exports = /*@ngInject*/ function(Restangular,$rootScope) {
	'use strict';
	return {
		link: function(scope, elem, attrs, ctrl) {
			//控制表格左右滚动
			elem.bind('mousewheel', function(event, delta) {
		        var step=30;
		        var dir = delta > 0 ? 'Up' : 'Down';//判断上下滚动
		        var left=$(".fixed-table-body").scrollLeft();//获取当前滚动条左右进度
				$(this).css('cursor','move');
		        if(dir=='Up'){
		          left-=step;
		        }else if(dir=='Down'){
		          left+=step;
		        }
		        $(".fixed-table-body").scrollLeft(left);
		    });
		    //禁用外部区域鼠标滚动
		    var scrollTop = -1; // 鼠标进入到区域后,则存储当前window滚动条的高度
				 elem.hover(function(){
				 	scrollTop = $(window).scrollTop();
				 }, function(){
				 	scrollTop = -1;
				 });
				
				 // 鼠标进入到区域后,则强制window滚动条的高度
				 $(window).scroll(function(){
				 scrollTop!==-1 && $(this).scrollTop(scrollTop);
			})
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值