2013-03-13 52 views
0

所以我有一個按鈕,我試圖讓多個功能一起工作。在頁面加載時,上面的div是隱藏的,一旦按鈕被點擊,它將使div可見並滾動到頂部。我可以分開工作,但不能在一起工作。有人能指出我做錯了什麼嗎?1按鈕上的jQuery多功能

$(function() { 
    $("#work").hide(); 
    $(".button").bind("click", function() { 
     $("#work").show(); 
    }); 
    $(".button").click(function() { 
     $('html, body').animate({ 
      scrollTop: $("#work").offset().top 
     }, 2000); 
    }); 
}); 

更新1:

加入了小提琴:http://jsfiddle.net/5qQJN/1/

更新2:

所以它管理工作,但點擊它之後,才一次。說你點擊它,跳到頂部,你再次向下滾動點擊,然後它將與動畫滾動..所以這意味着我需要一個窗口負載?

回答

3
$(function() { 
    $("#work").hide(); 
    $(".button").click(function() { 
     $("#work").show(); 
     $('html, body').animate({ 
      scrollTop: $("#work").offset().top 
     }, 2000); 
    }); 
}); 

結合它們應該工作,因爲沒有任何東西看起來像是動態加載。

+0

^這 - 我想知道自己爲什麼需要兩個點擊處理程序,這可能是在OP的示例代碼中過分簡化。 – Adrian 2013-03-13 21:00:39

+0

感謝您的回覆和編輯。然而,仍然沒有骰子,當我點擊按鈕的div將出現,它將滾動到頂部,但沒有動畫,只是一個跳躍。 – Sneezy 2013-03-13 21:05:57

+0

你可以用你的HTML更新你的問題,並且如果可能的話,用一個說明問題的jsFiddle。 – j08691 2013-03-13 21:06:36

0

我做了一個搗鼓你:http://jsfiddle.net/FaC4r/

看起來像它在那裏工作。如果你提供了你的HTML,這將有所幫助。

THE DIV IS HIDDEN UP HERE - SCROLL DOWN FOR BUTTON 
<div id="work"></div> 

<div id="spacer"></div> 

<input type="button" class="button" value="CLICK ME TO SHOW 'WORK' AND SCROLL UP TO IT"> 

[更新基於評論]

我編輯的小提琴爲你和你的新的HTML:http://jsfiddle.net/FaC4r/2/

好像你的CSS被指定以0填充,即一個工作格,合併事實上div中沒有​​任何東西,意味着它是無形的!你可以在上面的小提琴中看到,我在填充中使用了2em,以確保我實際上看到了div的增長和擴展。

我會說 - 這對於您的編程生涯中的基本所有內容都是正確的 - 使用工作示例作爲基礎並逐步添加您的特定需求。儘早並經常進行測試。添加一件事物並測試以確保它完成了您的預期。一旦你建立了一定的舒適度,你就可以延長這個迭代週期。

希望有幫助! :)

+0

欣賞幫助..這很奇怪,我覺得它應該工作,但由於某種原因,它不是。如果你注意到任何知道的東西,我會提起一個小提琴,我對代碼還很陌生。再次感謝。 – Sneezy 2013-03-13 21:38:44