2013-10-22 45 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

相关问题