首页 > 代码库 > 返回顶部 - 原型 、优化
返回顶部 - 原型 、优化
/*
backtotop.js
by sunhw 2014-12-2
*/
;
(function() {
T.dom.ready( function() {
var dom = T.get( ‘gototopwrap‘ ), timer = 0;
var map = {
scroH : 450,
pageH : 230,
ttl : 500
};
if ( T.page.getViewHeight() < map.pageH || !dom ) {
return;
}
var scrollHandle = function() {
clearTimeout( timer );
timer = setTimeout( function() {
if ( T.page.getScrollTop() > map.scroH ) {
T.dom.setStyle( dom, "visibility", "visible" );
} else {
T.dom.setStyle( dom, "visibility", "hidden" );
}
}, map.ttl );
};
T.un( window, ‘scroll‘, scrollHandle );
T.on( window, ‘scroll‘, scrollHandle );
window.fixedIE6 && window.fixedIE6();
} );
})();
/*
backtotop.js
by sunhw 2014-10-24
*/
;(function(){
function BackTotop(option){
this.map = {
sh : 200, //getScrollTop
ttl : 500, //延迟时间
vh : 227 //getViewHeight
};
this.option = T.object.extend({
root : ‘‘
}, option || {});
this.ie6 = T.browser.ie < 7;
this.init();
}
BackTotop.prototype.init = function(){
var me = this;
if(T.page.getViewHeight() < me.map.vh) return;
me.scrollHandle = function(){
me.timer = null;
clearTimeout(me.timer);
if(me.ie6){
if(T.get(‘gototopwrap‘)){
T.hide(‘gototopwrap‘);
}
}
me.timer = setTimeout(function(){
if(T.page.getScrollTop() > me.map.sh){
me.tpl = ‘<div class="gototop" id="gototopwrap"><a class="totop-btn" id="totopBtn" href="javascript:void(window.scroll(0,0));" hidefocus></a></div>‘;
if(!T.get(‘gototopwrap‘)){
T.dom.insertHTML(T.get(me.option.root), ‘afterBegin‘, me.tpl);
}
if(me.ie6){
if(T.get(‘gototopwrap‘)){
T.get(‘gototopwrap‘).style.top = (T.page.getViewHeight()-me.map.sh)+ T.page.getScrollTop() + ‘px‘;
T.show(‘gototopwrap‘);
}
}
}else{
if(T.get(‘gototopwrap‘)){
T.dom.remove(T.get(‘gototopwrap‘));
}
}
}, me.map.ttl);
};
T.on(window, ‘scroll‘, me.scrollHandle);
}
T.dom.ready(function(){
var gototop = new BackTotop({
root : ‘footer‘
});
});
})();
返回顶部 - 原型 、优化