2012-03-14 66 views
0

這裏是我的代碼的一個例子。如何在點擊時停止fadeIn()跳轉到頂部?

$("#slideshow img").on("click", function (e) { 
    $(".fullimage").hide(); 
    var next = $(this).next(); 
    if (next.length > 0) { 
     next.fadeIn(1000); 
    } else { 
     $("#slideshow img:first-child").fadeIn(1000); 
    } 
    e.preventDefault(); 
}); 

當圖像fadeIn()我的頁面跳轉到頂部,如果我改變fadeIn()show()它做工精細。讓我知道它是什麼原因。

+0

什麼是網頁的HTML代碼,根據要求遷移到一個答案? – 2012-03-14 13:50:55

+3

大概在'fadeIn'場景中出現了一些問題,這樣''e.preventDefault()'永遠不會發生,並且默認的動作可能在這裏跟隨一個鏈接,'''說,這會給跳轉到頁面頂部。可能還有其他解釋,比如元素被淡化本身就是頁面首先滾動的主要原因,並且在淡入淡出時絕對定位它,頁面會丟失滾動高度。沒有可以複製錯誤的示例環境,這個問題很難解決。沒有什麼內在的jumptotop'y關於fadeIn – 2012-03-14 13:54:03

+0

我認爲是一樣的。只需將'#'替換爲'javascript:;'或'javascript:void(0)' – Oybek 2012-03-14 13:58:28

回答

1

想必下面的東西是怎麼回事

  • 答:東西壞在fadeIn的情況下,使e.preventDefault()永遠不會發生,並默認動作可能這裏是點擊一個鏈接,以#說,這會給跳到頁面頂部的外觀。

  • B:被淡化的元素本身就是頁面首先滾動的主要原因,並且通過在淡入淡出期間將其絕對定位,頁面將失去滾動高度。

最初發布評論,但來自OP