2011-02-07 10 views
8

पर यह किया जा सकता है?jQuery एक वर्ग से दूसरे वर्ग में तत्वों को फीका करता है, होवर

उदाहरण के लिए।

.class1{ 
    background-image:(whatever.jpg) 
    color: #fff; 
} 

.class2{ 
    background-image:(whatever2.jpg) 
    color: #999; 
} 

मैं जब माउस तत्व खत्म हो गया है class2 को Class1 है कि सभी तत्वों को फीका कर सकते हैं और वापस Class1 को जब माउस बाहर है?

उत्तर

2

आप दोनों एक ही निरपेक्ष स्थिति देते हैं, fadein() और fadeOut() का उपयोग कर इस प्रभाव पड़ेगा (onmouseover से जुड़ी और onmouseout)।

4

मुझे लगता है कि this plugin वह है जिसे आप ढूंढ रहे हैं। यह आपको कक्षाओं के बीच एनिमेट करने की अनुमति देता है। उदाहरण के लिए:

$('.class1').animateToClass('.class2', 1000); 
+1

+1 यह भी मैं सवाल को कैसे समझता हूं। ध्यान दें कि रंग एनिमेशन के लिए आपको या तो jQuery UI या प्लगइन की आवश्यकता होगी जैसे http://plugins.jquery.com/project/color – sunn0

+0

+1 उस लिंक के लिए। मुझे लगता है कि jQuery रंग एनिमेट कर सकता है। – Olical

+0

मेरे लिए काम नहीं कर रहा है – Alex

15

jQuery UI's extension to addClass पर एक नज़र डालें। यह एनीमेशन की संभावना देने के लिए एक अवधि पैरामीटर की अनुमति देता है।

यहाँ, मुझे लगता है कि आप इस तरह से कुछ करना चाहता हूँ:

$('.class1').hover(function(){ 
    $(this).addClass('class2', 800); 
}, function(){ 
    $(this).removeClass('class2', 800); 
}); 

जाहिर है आप इस के लिए jQuery यूआई स्थापित करने के लिए की आवश्यकता होगी।

+0

क्या यह पृष्ठभूमि छवियों को एनिमेट कर सकता है? jquery UI पर एनीमेशन – Alex

+0

पर सूचीबद्ध केवल कुछ सीएसएस गुण हैं! यह वही था जो मुझे चाहिए, धन्यवाद। –

-2

मुझे लगता है कि यह आप के लिए पूरा करने में मदद की जा सकती है ....

$('.class1').mouseover(function() { 
    $(this).toggleClass('class2'); 
}); 
+0

jQuery की टॉगल क्लास विधि का उपयोग करके एक वर्ग को एक तत्व को चालू और बंद कर दिया जाता है। इसमें दो वर्गों और उनके बीच टॉगलिंग करने के लिए कुछ भी नहीं है। –

17

आप एक प्लगइन का उपयोग नहीं करना चाहते हैं, तो आप निम्न कर सकते हैं:

$(".class1").hover(
function() { 
    $(this).fadeOut(function() { 
     $(this).removeClass("class1").addClass("class2").fadeIn('fast'); 
    }); 
}, 
function() { 
    $(this).fadeOut(function() { 
     $(this).removeClass("class2").addClass("class1").fadeIn('fast'); 
    }); 
}); 
1

यह वह जगह है मेरा कार्यान्वयन:

 $(this).fadeOut("fast"); or $(this).hide(); 
     $(this).removeClass('css1').addClass('css2'); 
$(this).fadeIn("slow"); 
संबंधित मुद्दे