2013-10-22 167 views
0

出於某種原因,我不得不按兩次按鈕來執行它分配的功能,也許是有兩個點擊事件的事實?但是,如果我刪除了「$(buttonNumber).on('click',function()」腳本中斷。 我打算將這個函數用於多個按鈕,這就是爲什麼它必須在一個函數中。必須點擊按鈕兩次執行功能 - jQuery

HTML:

<!DOCTYPE HTML> 
<html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 

     <link rel="stylesheet" href="css/style.css" /> 
     <script type="text/javascript" src="test2.js"></script> 

    </head> 

<body> 

<button id="button1" onclick="nextSlide('#button1', '#1', '#2')">Hide it</button> 
<p id="1">Hide this text</p> 
<p id="2">Show this text</p> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 
</body> 
</html> 

JS:

window.onload=function(){ 
    $('#2').fadeOut(1); 

}; 

function nextSlide(buttonNumber, hideDiv, showDiv) { 
    $(buttonNumber).on('click', function() { 
      $(hideDiv).hide("slide", 2000, function(){ 
       $(showDiv).show("slide", 2000); 
      }); 
    }); 
}; 
+0

你爲什麼包括V1和jQuery的V2?這不是必需的。刪除一個,看看你的問題是否存在。 – nietonfir

+0

其中之一是幻燈片功能所需的jQuery UI庫。 – musha1

+0

;-)現在你提到它...:P sry 4的噪音! – nietonfir

回答

1

您的每次點擊綁定的情況下你應該只點擊事件中執行代碼

function nextSlide(buttonNumber, hideDiv, showDiv) { 
    //$(buttonNumber).on('click', function() { 
      $(hideDiv).hide("slide", 2000, function(){ 
       $(showDiv).show("slide", 2000); 
      }); 
    //}); 
}; 
0123。個

註釋的部分結合click事件,但你已經做到了這一點在你的HTML:

onclick="nextSlide('#button1', '#1', '#2')" 
+0

更好的答案是不用內聯綁定。 – Mathletics

相關問題