2013-04-11 51 views
0

如何設置「ON」方法以在按鈕被再次點擊時撤消。所以一個ON & OFF BUTTON。Jquery on BUTTON

$('#videoNest span').on('click', function(e) { 

    First Time Clicked 
    //// ON 

     $('<div class="off-overlay"></div>').insertAfter('#container'); 

      $('#example_video_1').addClass("light-grad"); 

    Second Time Clicked 
    ///// OFF 

     remove div off-overlay $('<div class="off-overlay"></div>').insertAfter('#container'); 

     remove class $('#example_video_1').addClass("light-grad"); 

    }); 


    }); 
+0

不要ü想使點擊一次.. – PraJen 2013-04-11 04:32:28

回答

2

第一次點擊後,取消綁定點擊並綁定到新的OFF事件。做相同的OFF方法

  $(this).unbind("click"); 
     $(this).on("click",function() { OFFFunction(); }); 
+0

或者使用 「一」 的方法? – 2013-04-11 04:34:03

0

您可以創建一個布爾變量並將其設置爲在真=假=關閉,if語句改變它內部的,所以像:

if (boolean == true){ 
    // do stuff 
    boolean = false 
} else if (boolean == false) { 
    // do stuff 
    boolean = true 
} 
0

可以這樣做下面

live demo here

$("#toggle_button").click(function(){ 
    if($("#OnOffDiv").hasClass("On")) 
    { 
     $("#OnOffDiv").removeClass("On"); 
     $("#OnOffDiv").addClass("Off"); 
     $("#OnOffDiv").html("OFF"); 
    } 
    else 
    { 
     $("#OnOffDiv").removeClass("Off"); 
     $("#OnOffDiv").addClass("On"); 
     $("#OnOffDiv").html("ON"); 
    } 
}); 
0

這裏是一個工作jsfiddle example

它可能無法正確與您的要求,因此你必須改變它。只需從中獲得想法。

$('#videoNest span').on('click',function(){ 
    var flg =$('#example_video_1').hasClass("light-grad"); 

    $("#container +.off-overlay").toggle('slow',function(){ 
     if(flg)$('#example_video_1').removeClass("light-grad")   
     else $('#example_video_1').addClass("light-grad")   
    });  
}); 

給定的HTML:

<div id="videoNest"> 
    <span>Toggle</span> 
    <div id="container">Container</div> 
    <div class="off-overlay">overlay</div> 
    <div id="example_video_1" > example_video_1 </div> 
</div>