Файловый менеджер - Редактировать - /home/lmsyaran/public_html/j3/modules/mod_vertical_menu/params/offlajnlist/offlajnlist/offlajnscroller.js
Назад
dojo.declare("OfflajnScroller", null, { constructor: function(args) { this.scrollspeed = 10; this.curr = 0; dojo.mixin(this,args); this.initScrollbar(); }, initScrollbar: function() { (!dojo.isMozilla) ? dojo.connect(this.selectbox, 'onmousewheel', this, 'scrollWheel') : dojo.connect(this.selectbox, 'DOMMouseScroll', this, 'scrollWheel'); var right = dojo.create('div', {'class': 'gk_hack offlajnscrollerright'}, this.selectbox); this.sc = dojo.create('div', {'class': 'gk_hack offlajnscrollerbg'}, right); this.scrollbg = dojo.create('div', {'class': 'gk_hack offlajnscrollerscrollbg'}, this.sc); this.scrollbtn = dojo.create('div', {'class': 'gk_hack offlajnscrollerscrollbtn'} ,this.sc ); if(this.extraClass) { dojo.addClass(right, this.extraClass); dojo.addClass(this.sc, this.extraClass); dojo.addClass(this.scrollbg, this.extraClass); dojo.addClass(this.scrollbtn, this.extraClass); } if(this.extraClass == 'multi-select') { this.scrollup = dojo.create('div', {'class': 'gk_hack offlajnscrollerarrowup'}, this.sc, 'first'); this.scrolldown = dojo.create('div', {'class': 'gk_hack offlajnscrollerarrowdown' }, this.sc, 'last'); this.scrupc = dojo.connect(this.scrollup, 'onmousedown', this, 'upScroll'); this.scrdownc = dojo.connect(this.scrolldown, 'onmousedown', this, 'downScroll'); } dojo.connect(this.scrollbtn, 'onmousedown', this, 'onscrolldown'); dojo.connect(this.scrollbg, 'onclick', this, 'scrollTo'); this.scrbg = dojo.position(this.scrollbg, true); this.scrollbtnprop = dojo.position(this.scrollbtn, true); this.scrollReInit(); }, scrollReInit: function(){ dojo.style(this.scrollbtn, 'display', 'block'); this.maxHeight = parseInt(dojo.position(this.content).h); this.windowHeight = parseInt(dojo.style(this.selectbox, 'height')); this.scrollRatio = this.maxHeight/this.windowHeight; this.maxTop = -1 * (this.maxHeight-this.windowHeight); if(this.maxTop > 0) this.maxTop = 0; var scrollArrowHeight = 0; this.scrollHeight = 0; var marginVertical = dojo.marginBox(this.scrollbg).h-dojo.position(this.scrollbg).h; if(this.extraClass == 'multi-select') { scrollArrowHeight = dojo.marginBox(this.scrollup).h; this.scrollHeight = (this.windowHeight+(-2*scrollArrowHeight-marginVertical-2)); this.scrollBtnmaxTop = (this.scrollHeight-this.scrollHeight/this.scrollRatio)-2; } else { this.scrollHeight = (this.windowHeight-10); this.scrollBtnmaxTop = (this.scrollHeight-this.scrollHeight/this.scrollRatio); } dojo.style(this.scrollbg, 'height', this.scrollHeight+'px'); var scrollBtn = (this.scrollHeight/this.scrollRatio-2); if(scrollBtn<10){ scrollBtn = 10; this.scrollBtnmaxTop = (this.scrollHeight-scrollBtn-2); } this.scrollBtnH = scrollBtn; dojo.style(this.scrollbtn, 'height', scrollBtn+'px'); if(this.scrollBtnmaxTop < 0) this.scrollBtnmaxTop = 0; if(this.windowHeight > this.maxHeight) this.hideScrollBtn(); }, hideScrollBtn: function() { dojo.style(this.scrollbtn, 'display', 'none'); }, goToBottom: function(){ this.scrolling(-1000,1000); }, onscrolldown: function(e) { this.scrdown = 1; this.currentpos = e.clientY; this.scrbtnpos = dojo.style(this.scrollbtn, 'top'); this.mousemove = dojo.connect(document, 'onmousemove', this, 'onscrollmove'); this.mouseup = dojo.connect(document, 'onmouseup', this, 'mouseUp'); }, onscrollmove: function(e) { var diff = this.currentpos-e.clientY; if(diff == 0) return; var lastt = (dojo.style(this.scrollbtn, 'top')); var pos = dojo.style(this.content, 'top'); this.scrolling(diff, (((lastt-diff)/this.scrollBtnmaxTop)*this.maxTop-pos)/diff); this.currentpos = e.clientY; }, scrollTo: function(e) { var pos = e.clientY; var sc = dojo.position(this.scrollbg); var currpos = pos - sc.y; if(currpos < this.maxTop) currpos = maxTop; if(currpos > this.scrollBtnmaxTop) currpos = this.scrollBtnmaxTop; dojo.style(this.scrollbtn, 'top', currpos + 'px'); var scroll = -1*currpos * this.scrollRatio; dojo.style(this.content, 'top', scroll + 'px'); }, setPosition: function(p) { var pos = -1*p; if(pos < this.maxTop) pos = this.maxTop; this.setScrollBtn(pos); dojo.style(this.content, 'top', pos + 'px'); }, onscrollup: function(e) { e.stopPropagation(); this.scrdown = 0; }, upScroll: function(e) { this.mouseup = dojo.connect(document, 'onmouseup', this, 'mouseUp'); e.stopPropagation(); this.btnScroll(1); }, downScroll: function(e) { this.mouseup = dojo.connect(document, 'onmouseup', this, 'mouseUp'); e.stopPropagation(); this.btnScroll(-1); }, btnScroll: function(direction){ this.dscr = 1; var fn = dojo.hitch(this, 'scrolling', direction, this.scrollspeed/4); fn(); this.inter = window.setInterval(fn, 50); }, scrolling: function(p, ratio) { if(ratio == undefined) ratio = this.scrollspeed; var pos = dojo.style(this.content, 'top'); var scr = pos + (p * ratio); if(scr < this.maxTop) scr = this.maxTop; if(scr > 0) scr = 0; dojo.style(this.content, 'top', scr + 'px'); this.setScrollBtn(scr); this.curr = scr; this.onScroll(); }, onScroll: function(){ }, setScrollBtn: function(val) { var top = (this.scrollBtnmaxTop*(val/this.maxTop)); dojo.style(this.scrollbtn, 'top', top+'px'); }, mouseUp: function(e) { if(this.mousemove) dojo.disconnect(this.mousemove); if(this.mouseup) dojo.disconnect(this.mouseup); e.stopPropagation(); this.inter = window.clearInterval(this.inter); if( this.dscr == 1) { this.dscr = 0; } }, scrollWheel: function(e) { var pos = 0; pos = (e.detail != "") ? e.detail : e.wheelDelta; if(dojo.isMozilla || dojo.isOpera) { if (pos < 0) { this.scrolling(1); } else { this.scrolling(-1); } } else { if (pos < 0) { this.scrolling(-1); } else { this.scrolling(1); } } dojo.stopEvent(e); } });
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка