2013-04-16 42 views
0

我在做一些按鈕的某些轉換,它們會顯示 某些內容,當您按下按鈕時,內容幻燈片和fadeOut以及其他內容fadeIin並滑動到vew,這工作真的很好,但是當你按下相同的按鈕兩次,它只是滑動和淡入淡出,然後再次出現,我希望按鈕不能按下,如果已經顯示該部分。在按鈕中不重複動作

生病離開你我使用該函數的代碼:

$(".btns-segur-desarr ul").on("click", changeArticule); 

function changeArticule (data) { 
    var target = data.target.className; 
    var secciones = ["#seccion-fuego","#seccion-bateria","#seccion-sismo","#seccion-extintor"]; 
    $("#" + target).css("right", -"80"); 

    for (var i = 0; i < secciones.length; i++) { 
     if($(secciones[i]).hasClass("aVista")){ 
      $(secciones[i]).animate({ 
       right: "40", 
       opacity: "0" 
      }); 
     $(secciones[i]).removeClass("aVista"); 
     } 
    }; 

    $("#" + target).addClass("aVista"); 
    $("#" + target).animate({ 
     right:"0", 
     opacity: "1" 
    }) 

} 

,我將不勝感激,如果有人可以幫助我得到這個我學習java腳本和j查詢,只是卡住:/

+0

提供[jsfiddle](http://jsfiddle.net)示例。 – Dom

回答

1

您可以使用jQuery的.one()綁定來確保事件觸發一次且僅觸發一次。但是,這需要您在重新啓用按鈕時重新綁定事件。

更好的解決方案是讓你的事件點擊時添加一個類,然後檢查該類是否應該再次觸發。例如: $(data.target).addClass("clicked")if ($(data.target).hasClass("clicked")) return false;

當你想重新啓用該按鈕,這將給你更多的靈活性。