锚点能解决的问题都是小问题,但是往往有些定位问题是锚点不能解决的,先说说锚点的缺点,在定位的锚点底部内容不够的情况下,定位的位置是不能移动到页面顶部的,下边分别用jquery和zepto两种办法解决
1.jquery解决,直接上一个demo
2.zepto,zepto的animate的没有反应,用下边代码
-
$.fn.scrollTo =function(options){
-
var defaults = {
-
toT : 0, //滚动目标位置
-
durTime : 500, //过渡动画时间
-
delay : 30, //定时器时间
-
callback:null //回调函数
-
};
-
var opts = $.extend(defaults,options),
-
timer = null,
-
_this = this,
-
curTop = _this.scrollTop(),//滚动条当前的位置
-
subTop = opts.toT - curTop, //滚动条目标位置和当前位置的差值
-
index = 0,
-
dur = Math.round(opts.durTime / opts.delay),
-
smoothScroll = function(t){
-
index++;
-
var per = Math.round(subTop/dur);
-
if(index >= dur){
-
_this.scrollTop(t);
-
window.clearInterval(timer);
-
if(opts.callback && typeof opts.callback == 'function'){
-
opts.callback();
-
}
-
return;
-
}else{
-
_this.scrollTop(curTop + index*per);
-
}
-
};
-
timer = window.setInterval(function(){
-
smoothScroll(opts.toT);
-
}, opts.delay);
-
return _this;
-
};
-
var dealTop = $(".dyna-title").offset().top;
-
$("html,body").scrollTo({toT:dealTop})
阅读(1949) | 评论(0) | 转发(0) |