2013-02-16 14 views

उत्तर

42
+0

एक बात मैं बदल गया है मैं पहले क्लिक अलर्ट 'विषम संख्या' है, जो 1, पहली क्लिक करने पर अगर (! क्लिक) किया है ... यह तो (है एक विषम संख्या भी नहीं है। यह टॉगल() के साथ-साथ 'if' कथन का उपयोग 'else' के बजाय पहले क्लिक के रूप में किया जाता है। –

+0

यह भी ठीक है ... आप अपना कोड व्यवस्थित कर सकते हैं यह आपकी आवश्यकताओं को बेहतर बनाता है। :) खुशी है कि मैं मदद कर सकता हूं। – henser

5

या इस:

var clicks = 0; 

$('.myClass').click(function() { 
    if (clicks == 0){ 
     // first click 
    } else{ 
     // second click 
    } 
    ++clicks; 
}); 
1

मुझे पता नहीं तुम क्या करने कोशिश कर रहे हैं क्या लेकिन

$('.myClass').click(function() { 
    var clicks = $(this).data('clicks'); 
    if (clicks) { 
    // odd clicks 
    } else { 
    // even clicks 
    } 
    $(this).data("clicks", !clicks); 
}); 

यह एक पहले से ही उत्तर प्रश्न पर आधारित है हम

$('.myClass').click({ 
    var $this=$(this);   
    if($this.is(':hidden')) 
    { 
     $this.show('slow'); 
    }else{ 
     $this.hide('slow'); 
    } 
}) 
द्वारा मूल टॉगल प्राप्त कर सकते हैं

ध्यान दें: इस उस तत्व के लिए अंतहीन क्लिक करें घटना के लिए .. काम करता है न सिर्फ दो क्लिक के लिए (यदि आप चाहते है कि)

या आप सीएसएस वर्ग का उपयोग को छिपाने के लिए/div दिखाने के लिए और उपयोग कर सकते हैं jquery.toggleClass()

+0

धन्यवाद बिपेन। क्षमा करें मुझे अपने प्रश्न में और अधिक स्पष्ट होना चाहिए था, लेकिन दो को नाम देने के लिए jQuery को दोष दें! दिखाने/छिपाने के लिए jQuery टॉगल है, लेकिन मैं घटना चाहता था। हालांकि यह शो/छुपा हल करेगा, धन्यवाद! –

5

इस मैं अपने मेनू

var SubMenuH = $('.subBoxHederMenu').height(); 
var clicks = 0; 

     $('.btn-menu').click(function(){ 
      if(clicks == 0){ 
      $('.headerMenu').animate({height:SubMenuH}); 
      clicks++; 
      console.log("abierto"); 
      }else{ 
      $('.headerMenu').animate({height:"55px"}); 
      clicks--; 
      console.log("cerrado"); 
      } 
      console.log(clicks); 
     }); 
0
  var click_s=0; 
      $('#show_pass').click(function(){ 
       if(click_s % 2 == 0){ 
        $('#pwd').attr('type','text'); 
        $(this).html('Hide'); 
       } 
       else{ 
        $('#pwd').attr('type','password'); 
        $(this).html('Show'); 
       } 
       click_s++; 
      }); 
+0

क्या आप कृपया अपना उत्तर समझा सकते हैं ताकि लोग इसे ढूंढ सकें? – Machavity

+0

शो पासवर्ड के लिए वैकल्पिक क्लिक के लिए उत्तर के ऊपर और इनपुट फ़ील्ड में पासवर्ड छिपाएं –

1

के लिए काम किया विधि नीचे हम अपने कस्टम .toggleClick() कार्य करने के लिए कार्यों की एक सरणी से गुजर रहे हैं उल्लेख किया है। और हम data-*HTML5 की विशेषता का उपयोग कर रहे हैं जो फ़ंक्शन इंडेक्स को स्टोर करने के लिए क्लिक करें जो क्लिक इवेंट हैंडलिंग प्रक्रिया के अगले पुनरावृत्ति में निष्पादित किया जाएगा। data-index संपत्ति में संग्रहीत यह मान प्रत्येक पुनरावृत्ति में अद्यतन किया जाता है ताकि हम अगले पुनरावृत्ति में निष्पादित किए जाने वाले फ़ंक्शन की अनुक्रमणिका को ट्रैक कर सकें।

इन सभी कार्यों को क्लिक ईवेंट के प्रत्येक पुनरावृत्ति में एक-एक करके निष्पादित किया जाएगा। उदाहरण के लिए index[0] पर पहले पुनरावृत्ति समारोह में निष्पादित किया जाएगा, index[1] पर संग्रहीत 2 पुनरावृत्ति समारोह में निष्पादित किया जाएगा और इसी तरह।

आप अपने मामले में इस सरणी में केवल 2 फ़ंक्शन पास कर सकते हैं। लेकिन यह विधि केवल 2 कार्यों तक ही सीमित नहीं है। आप इस सरणी में 3, 4, 5 या अधिक फ़ंक्शन पास कर सकते हैं और उन्हें कोड में कोई भी परिवर्तन किए बिना निष्पादित किया जाएगा।

नीचे स्निपेट में उदाहरण चार कार्यों को संभालने में है। आप अपनी जरूरतों के अनुसार कार्यों को पारित कर सकते हैं।

$.fn.toggleClick = function(funcArray) { 
 
    return this.click(function() { 
 
    var elem = $(this); 
 
    var index = elem.data('index') || 0; 
 

 
    funcArray[index](); 
 
    elem.data('index', (index + 1) % funcArray.length); 
 
    }); 
 
}; 
 

 
$('.btn').toggleClick([ 
 
    function() { 
 
    alert('From Function 1'); 
 
    }, function() { 
 
    alert('From Function 2'); 
 
    }, function() { 
 
    alert('From Function 3'); 
 
    }, function() { 
 
    alert('From Function 4'); 
 
    } 
 
]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<button type="button" class="btn">Click Me</button> 
 
<button type="button" class="btn">Click Me</button>

संबंधित मुद्दे