2012-04-09 16 views
5

यहाँ मैं अब तक है: enter image description herejQuery क्लिक पर कक्षा जोड़ें लेकिन केवल एक बार अनुमति दी गई है।

जावास्क्रिप्ट:

$(document).ready(function() { 
    $(".thumb_wrapper").click(function() { 
     $(this).addClass("active"); 
    }); 
}); 

तो यह काम कर रहा है, यह वर्ग जोड़ रहा है, लेकिन मैं केवल एक आइटम हर समय सक्रिय होना चाहते हैं। तो जब मैं किसी आइटम पर क्लिक करता हूं, और यह सक्रिय हो जाता है, तो जिस आइटम पर मैं क्लिक करता हूं वह नया सक्रिय होना चाहिए, और पिछले एक को कक्षा को हटा देना चाहिए।

क्या यह समझ में आता है? मैं ऐसा कुछ कैसे कर सकता हूं?

धन्यवाद!

उत्तर

11

आपको अपने thumb_wrapper तत्वों से पहले active कक्षा को हटाने की आवश्यकता है। इसे आज़माएं:

$(".thumb_wrapper").click(function() { 
    $(".thumb_wrapper").removeClass("active"); 
    $(this).addClass("active"); 
}); 
+0

बहुत बहुत धन्यवाद! – Drew

0

ऐसा करना चाहिए।

$(document).ready(function() { 
    $(".thumb_wrapper").click(function() { 
     $(this).parent().children().each(function() { 
      $(this).removeClass("active"); 
     }); 
     $(this).addClass("active"); 
    }); 
}); 
3

कैश अपने आवरण और उस पर एक removeClass() फोन पहले:

var $wrapper = $(".thumb_wrapper"); 

$wrapper.click(function() { 
    $wrapper.removeClass("active"); 
    $(this).addClass("active"); 
}); 
1
$(".thumb_wrapper").on('click', function() { 
    $(".thumb_wrapper").removeClass('active').find(this).addClass("active"); 
}); 
0
$(document).ready(function(){ 
    $('.what').click(function(){ 
     $('.what').removeClass('active'); 
     $(this).addClass('active');  
    });  
}); 

मैं कुछ इस तरह मान?

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