Doğru Cevap
-
Soruyu biraz daha açık yazabilir misiniz?
-
psygnosis
mouse daki döner tuş yokmu bir kere döndürdüğünde tarayıcı bir miktar scroll olur 100 px aşağı kayar mesela.. ben javascriptle bu miktarı ayarlayabilirmiyim.. soruyu yanlış anlamayın.. belirli bir noktaya gitsin demiyorum.. her döndürğümde 100 px scroll olsun12 yıl önce yazılmış -
halidaltuner
Smooth Scroll kullanabilirsiniz. Örnek kodu şöyle vereyim;
/*-------------------------------------------------------------------------- * Smooth Scroller Script, version 1.0.1 * (c) 2007 Dezinerfolio Inc. <midart@gmail.com> * * For details, please check the website : http://dezinerfolio.com/ * /*--------------------------------------------------------------------------*/ Scroller = { // control the speed of the scroller. // dont change it here directly, please use Scroller.speed=50; speed:10, // returns the Y position of the div gy: function (d) { gy = d.offsetTop if (d.offsetParent) while (d = d.offsetParent) gy += d.offsetTop return gy }, // returns the current scroll position scrollTop: function (){ body=document.body d=document.documentElement if (body && body.scrollTop) return body.scrollTop if (d && d.scrollTop) return d.scrollTop if (window.pageYOffset) return window.pageYOffset return 0 }, // attach an event for an element // (element, type, function) add: function(event, body, d) { if (event.addEventListener) return event.addEventListener(body, d,false) if (event.attachEvent) return event.attachEvent('on'+body, d) }, // kill an event of an element end: function(e){ if (window.event) { window.event.cancelBubble = true window.event.returnValue = false return; } if (e.preventDefault && e.stopPropagation) { e.preventDefault() e.stopPropagation() } }, // move the scroll bar to the particular div. scroll: function(d){ i = window.innerHeight || document.documentElement.clientHeight; h=document.body.scrollHeight; a = Scroller.scrollTop() if(d>a) if(h-d>i) a+=Math.ceil((d-a)/Scroller.speed) else a+=Math.ceil((d-a-(h-d))/Scroller.speed) else a = a+(d-a)/Scroller.speed; window.scrollTo(0,a) if(a==d || Scroller.offsetTop==a)clearInterval(Scroller.interval) Scroller.offsetTop=a }, // initializer that adds the renderer to the onload function of the window init: function(){ Scroller.add(window,'load', Scroller.render) }, // this method extracts all the anchors and validates then as # and attaches the events. render: function(){ a = document.getElementsByTagName('a'); Scroller.end(this); window.onscroll for (i=0;i<a.length;i++) { l = a[i]; if(l.href && l.href.indexOf('#') != -1 && ((l.pathname==location.pathname) || ('/'+l.pathname==location.pathname)) ){ Scroller.add(l,'click',Scroller.end) l.onclick = function(){ Scroller.end(this); l=this.hash.substr(1); a = document.getElementsByTagName('a'); for (i=0;i<a.length;i++) { if(a[i].name == l){ clearInterval(Scroller.interval); Scroller.interval=setInterval('Scroller.scroll('+Scroller.gy(a[i])+')',10); } } } } } } } // invoke the initializer of the scroller Scroller.init(); /*------------------------------------------------------------ * END OF CODE /*-----------------------------------------------------------*/
Kendinize göre kodun içerisindeki Scroller.speed=50; kısmını değiştirebilirsiniz.
<head> altına yerleştirirseniz iyi olur =)12 yıl önce yazılmış -
halidaltuner
Scroller.speed=50; kısmını Scroller.init(); altına eklerseniz. Normalde bu satır yok, ancak hız ayarlaması yapmak isterseniz init'in altına ekleyebilirsiniz.12 yıl önce yazılmış -
psygnosis
teşekkürler..12 yıl önce yazılmış
-
Cevaplar
Hiç cevap bulunamadı.