2010-06-06 72 views
2

我想知道是否有可能創建一個小書籤點擊,當前網頁滾動到底部!小書籤滾動到網頁底部

javascript:function%20scrollme(){dh=document.body.scrollHeight;ch=document.body.clientHeight;if(dh>ch){moveme=dh-ch;window.scrollTo(0,moveme);}} 

如果我創建一個新的書籤並粘貼這個地址沒有任何反應。我實際上不知道如何在小書籤中運行javascript,但是我只是將css-tricks加入書籤Printliminator

也許你可以幫忙,我很想擁有一個這樣的書籤!

回答

2

首先,你的JavaScript只定義一個函數,並沒有別的。

其次,你需要使用document.documentElement(代表<html>元素),而不是document.body

javascript:dh=document.documentElement.scrollHeight;ch=document.documentElement.clientHeight;if(dh>ch){moveme=dh-ch;window.scrollTo(0,moveme);} 

,或者乾脆

javascript:window.scrollTo(0,document.documentElement.scrollHeight) 

(顯然也沒關係y-coordwindow.scrollTo如果大於最大位置)。

更新:萬一你必須在怪癖模式下處理IE,根元素的確是document.body。其他瀏覽器讓document.documentElement.clientHeight代表文檔的高度(請參閱Finding the size of the browser window,它處理窗口的高度,但包含一個漂亮的表格)。不管怎樣,你要設置的滾動條來無論是最大的三個位置:

javascript:window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight)) 
+0

真棒謝謝你 – matt 2010-06-07 05:11:58

-1

,你可以簡單地使用錨與此語法

<a name="label">Any content</a> 
and 
<a href="#label">Any content</a> 
+0

我很確定這不是原始海報的要求。他想要一個可以跳到任何頁面主體的小書籤。 – 2010-06-06 22:05:40

+0

我認爲OP是要求JS解決方案,如果它將被用作書籤;他將無法控制網頁。 – 2010-06-06 22:06:16

+1

對,我想要一個書籤,這樣我就可以跳到每個網頁的底部了!我不能在我訪問的網站中放置錨點。我只想點擊一個小書籤並跳轉到頁面底部。 – matt 2010-06-06 22:43:41

1

這裏是一個函數,順利地向下滾動到頁面底部:

function scroll(scroll_to) { 
if (scroll.timer) clearTimeout(scroll.timer); 
var scroll_current = document.body.scrollTop, 
    distance = Math.abs(scroll_current - scroll_to); 
if (scroll_current == scroll_to) return; 
if (scroll_current > scroll_to) { 
    if (distance < 5) { 
     scroll_current -= distance; 
    } else { 
     scroll_current -= Math.ceil(distance/10); 
    } 
} 
if (scroll_current < scroll_to) { 
    if (distance < 5) { 
     scroll_current += distance; 
    } else { 
     scroll_current += Math.ceil(distance/10); 
    } 
} 
document.body.scrollTop = scroll_current; 
scroll.timer = setTimeout(function() { 
    scroll(scroll_to) 
    }, 10); 
} 

如果你叫它:

scroll(document.body.scrollHeight - innerHeight); 

它會滾動到頁面的底部。 你也可以用它來滾動到頁面的這樣的頂部:

scroll(0); 

只需將其連接到一個按鈕或鏈接的onclick事件。