-
使用JS實現效果查看全部
-
使用錨鏈接實現效果的優缺點查看全部
-
錨鏈接實現定位導航效果查看全部
-
讓頁面回到頂部的js腳本查看全部
-
頁面回到頂部的js腳本查看全部
-
top js查看全部
-
isTop的邏輯問題: 首先你點擊回到頂部時,滾動條開始往回滾,這時候istop為true,因為滾動條滾動觸發window.onscroll 事件,!istop為false不執行clearInterval(timer);但是下面的isTop=false;再將isTop置為false。這時候你人為滾動鼠標,則再次觸發window.onscroll 事件,此時!istop為true 執行clearInterval(timer);則滾動條停下來查看全部
-
為什么改成負的就能滾到頭? 回答這個問題前,先來看下為什么不改成負數就不行呢? 注意這句:var ispeed = Math.floor(osTop / 6); 當上面osTop的值小于6這個除數時,ispeed的值始終等于0(向下取整了),所以問題來了,當ispeed的值不變時,osTop - ispeed 這個控制滾動條的值也就不變了,所以滾動條永遠到不了頂。 實際中,當osTop = 5 時,ispeed 為 0,下面兩句也始終為5: document.documentElement.scrollTop = osTop - ispeed; // 兼容IE document.body.scrollTop = osTop - ispeed; // 兼容FF、Chrome 所以滾動條一直停在距離頂部5px的地方。 OK,那為什么改成負數就行了呢?其實改負數的目的就是讓ispeed的值不為0. 實際中,當osTop = 5(或小于5時),Math.floor(osTop / 6) 的值為 -1,這樣就使得 osTop + ispeed 的值始終能減小下去,直至到0. 這種用負數的方法不好理解,我是采用Math.ceil()這個方法(向上取整)實現的,代碼如下: obtn.onclick = function(){ // 定時器開啟 timer = setInterval(function(){ // 獲取當前滾動條距離頂部距離 var osTop = document.documentElement.scrollTop || document.body.scrollTop; var ispeed = Math.ceil(osTop / 6); document.documentElement.scrollTop = osTop - ispeed; document.body.scrollTop = osTop - ispeed; if(osTop == 0){ clearInterval(timer); } },30); }查看全部
-
主要知識點查看全部
-
@回到頂部效果——2-1 案例實現中相關知識點講解 置頂操作 DOM操作: 1.document.getElementById();根據ID獲取標簽元素 2.document.documentElement.scrollTop();滾動條的數值,可讀寫 事件運用: 1.window.onload 頁面加載完畢后觸發 2.onclick 點擊后觸發 3.window.onscroll 滾動條滾動時觸發 定時器 1.setInterval() 設置定時器,需傳2個參數 2.clearInteval() 關閉定時器,需傳1個參數查看全部
-
bbb查看全部
-
top查看全部
-
1.document.getElementById 2.window.onload//網頁加載完成 3.window.onscroll 滾動條滾動時 4.t=setInterval(fun,time) clearInterval(t) 5.scrolltop=document.documentElement.scrollTop || document.body.scrollTop 6.viewHight=document.documentElement.clientHeight||document.body.clientHeight查看全部
-
//本課程script.js源碼 window.onload = function(){ var obtn = document.getElementById('btn'); //獲取頁面可視區的高度 var clientHeight=document.documentElement.clientHeight; var timer = null; var isTop = true; window.onscroll = function(){ // alert(clientHeight); var osTop = document.documentElement.scrollTop || document.body.scrollTop ; if (osTop >= clientHeight){ //顯示按鈕 obtn.style.display="block"; }else { //隱藏按鈕 obtn.style.display="none"; } if (!isTop){ clearInterval(timer); } isTop = false; } obtn.onclick = function(){ //設置定時器 timer = setInterval(function(){ //獲取滾動條距離頂部的高度 var osTop = document.documentElement.scrollTop || document.body.scrollTop ; var ispeed = Math.floor(-osTop / 6); document.documentElement.scrollTop = document.body.scrollTop = osTop +ispeed; isTop = true; console.log(osTop -ispeed); if (osTop == 0){ clearInterval(timer); } },30); } }查看全部
-
我剛試了,MyEclipse新建了一個Web Project 如果在首頁上index.jsp這樣用,可以回到頂部,其他頁面就不行了,為什么?查看全部
舉報
0/150
提交
取消