/*
* @author: marte
* @date: 2018-05-20 09:03:53
* @last modified by: marte
* @last modified time: 2018-06-11 16:18:47
*/
'use strict';
// 在这里修改id,和速度
$(function(){
if (window.screen.width > 768) {
var api1 = new myapi();
api1.mousescroll.inte($('#scrolllayout'),10);
var api2 = new myapi();
api2.mousescroll.inte($('#div1'),10);
}
})
//下面别动
function myapi(){
this.mousescroll = {
inte : function(obj,value){
this.obj = obj;
this.addscroll(obj);
var outh = obj.outerheight(),
oscrollcontent = obj.children(':first'),
contenth = oscrollcontent.outerheight(),
oyscrollinnerh = outh/contenth*outh,
oyscrollouter = obj.find('#yscrollouter'),
oyscrollinner = obj.find('#yscrollinner');
obj.css({'position': 'relative','overflow':'hidden'});
oscrollcontent.css('position', 'absolute');
if(contenth > outh){
this.mousehover(obj, oyscrollouter, oyscrollinner);
this.mousewheel(obj, value, oscrollcontent, oyscrollinner, outh, contenth, oyscrollinnerh );
this.mousemoved(obj, oscrollcontent, oyscrollouter, oyscrollinner, outh, contenth, oyscrollinnerh );
};
},
addscroll : function(obj,value){
obj.append('
');
$('#yscrollinner').css('cursor','pointer');
},
mousehover : function(obj, outer, inner){
// obj.hover(function() {
// outer.fadein(400);
// }, function() {
// outer.fadeout(400);
// });
inner.hover(function() {
$('body').css({
'-moz-user-select': 'none',
'-webkit-user-select': 'none',
'-ms-user-select': 'none',
'-khtml-user-select': 'none',
'user-select': 'none',});
}, function() {
$('body').css({
'-moz-user-select': 'auto',
'-webkit-user-select': 'auto',
'-ms-user-select': 'auto',
'-khtml-user-select': 'auto',
'user-select': 'auto',});
});
},
mousewheel : function(obj, value, o, inner, h1, h2, h3){
var oscrollcontentval = value/(h1 - h3)*(h2 - h1);
inner.height(h3); //滚动条高度
obj.on('mousewheel',function(event,delta ){ //绑定滚轮事件
event.preventdefault(); //阻止浏览器默认为行
var delta = event.originalevent.wheeldelta;
var oyscrollinnertop = inner.position().top;
var oscrollcontenttop = o.position().top;
if(delta > 0){
if(oyscrollinnertop - value < 0){
inner.css('top', 0);
o.css('top', 0);
}else{
inner.css('top', oyscrollinnertop - value);
o.css('top', oscrollcontenttop + oscrollcontentval);
}
}else{
if(oyscrollinnertop + value > h1 - h3){
inner.css('top', h1 - h3);
o.css('top', h1 - h2);
}else{
inner.css('top', oyscrollinnertop + value);
o.css('top', oscrollcontenttop - oscrollcontentval);
}
};
});
},
mousemoved : function(obj, o, outer, inner, h1, h2, h3){
inner.on('mousedown',function(event){ //绑定鼠标事件
var clienty = event.clienty,
oyscrollinnertop = inner.position().top,
oscrollcontenttop = o.position().top,
movey = 0;
$(document).on('mousemove',function(event){
movey = event.clienty - clienty;
var oscrollcontentmove = movey/(h1 - h3)*(h2 - h1);
if(oyscrollinnertop + movey < 0){
inner.css('top', 0);
o.css('top', 0);
}else if(oyscrollinnertop + movey > h1 - h3){
inner.css('top', h1 - h3);
o.css('top', h1 - h2);
}else{
inner.css('top', oyscrollinnertop + movey);
o.css('top', oscrollcontenttop - oscrollcontentmove);
}
});
$(document).on('mouseup',function(event){
$(document).off('mousemove');
})
})
}
}
}