- 2010-06-17 (木) 19:32
- Dojo
滑らかにスクロールするトップに戻るボタンのDojo版。
DavidのソースにSmoothScrolllつけてみたよ。
DojoのSmoothScrollはDojox内にあるのでfxとfx.scrollをrequireする必要があります。
クリックしたときにstopEventするとアンカーがURLに反映されなくなる。これはMooToolsとかでも同じですな。
JavaScript:
-
(function(d,$) {
-
d.require('dojox.fx');
-
d.require("dojox.fx.scroll");
-
-
d.addOnLoad(function() {
-
-
var topLink = $('gototop');
-
d.style(topLink,{
-
'opacity': 0,
-
'visibility': 'visible',
-
'display':'block'
-
});
-
-
d.connect(topLink,'onclick',function(e){
-
d.stopEvent(e);
-
dojox.fx.smoothScroll({'node':d.body(),'win':window,'duration':300}).play();
-
});
-
-
d.connect(window,'onscroll',function(e) {
-
var scrollY = -d.position(d.body()).y, thresh = 100;
-
/* d['fade' + (scrollY> thresh ? 'In' : 'Out')]({ node: topLink }).play(); */
-
d.anim(topLink, { 'opacity': (scrollY> thresh ? 1 : 0 ) });/* more concise, @phiggins */
-
-
});
-
});
-
})(dojo,dojo.byId);