1.基礎(chǔ)準(zhǔn)備:
scrollTop() 方法返回或設(shè)置匹配元素的滾動(dòng)條的垂直位置。
scroll top offset 指的是滾動(dòng)條相對(duì)于其頂部的偏移。
如果該方法未設(shè)置參數(shù),則返回以像素計(jì)的相對(duì)滾動(dòng)條頂部的偏移。
語法
$(selector).scrollTop(offset)
2.
toggleClass() 對(duì)設(shè)置或移除被選元素的一個(gè)或多個(gè)類進(jìn)行切換。
例如對(duì)設(shè)置和移除所有 <p> 元素的 "main" 類進(jìn)行切換:
復(fù)制代碼 代碼如下:
$("button").click(function(){
$("p").toggleClass("main");
});
復(fù)制代碼 代碼如下:
var topbtn = $("#totop"); 想要一鍵向上的按鈕元素
var lastScroll = 0;
topbtn.css("display", "none");
window.onscroll = function(){ onscroll貌似為html5的屬性
var top = $(window).scrollTop();初始均為0
復(fù)制代碼 代碼如下:
if(top > 0){
topbtn.css("display", "");
}
if(top == 0){若為起始狀態(tài),則不顯示向上圖標(biāo)
topbtn.css("display", "none");
}
};
topbtn.click(function(){ 點(diǎn)擊事件
var scrollTop = 0;
var curPos = $(window).scrollTop();現(xiàn)在滾動(dòng)條的位置
topbtn.addClass("movingtotop"); 運(yùn)動(dòng)中顯示另外的圖片
var step = Math.abs(scrollTop - curPos) / 200 ;
var tid = setInterval(function() {不斷調(diào)用,幀動(dòng)成畫
topbtn.toggleClass("movingtotop"); 精妙的一段代碼,用元素屬性的設(shè)置和刪除交替,使得有動(dòng)態(tài)感閃爍效果
if (curPos > scrollTop + 14) {
curPos -= step;
step = step * 1.05;速度逐步加快
window.scrollTo(0, curPos);
} else if (curPos <= scrollTop + 14){直接跳到起始位置
window.scrollTo(0, scrollTop);
topbtn.removeClass("movingtotop");
clearInterval(tid); 關(guān)閉循環(huán)
}
}, 0.01);
});
新聞熱點(diǎn)
疑難解答
圖片精選