2009-05-31 20 views
24

मैं इस jQuery:jQuery टॉगल एनीमेशन

$(document).ready(function() 
{ 
    $("#panel").hide(); 

    $('.login').toggle(
    function() 
    { 
     $('#panel').animate({ 
     height: "150", 
     padding:"20px 0", 
     backgroundColor:'#000000', 
     opacity:.8 
}, 500); 
    }, 
    function() 
    { 
     $('#panel').animate({ 
     height: "0", 
     padding:"0px 0", 
     opacity:.2 
     }, 500); 
    }); 
}); 

यह ठीक काम कर रहा है, लेकिन मैं कार्यक्षमता एक छोटे से विस्तार करने के लिए की जरूरत है। मैं #panel div के साथ सिंक में एक और div की गुणों को समान रूप से जोड़ना चाहता हूं। मैंने माध्यमिक div से संबंधित दो और कार्यों को जोड़ने की कोशिश की, लेकिन मुझे अभी 4 चरण टॉगल मिला है ... हाहा! मेरी अज्ञानता को क्षमा करें!

धन्यवाद दोस्तों!

+0

पहले दो कार्यों के अंदर इस दूसरे डीआईवी में हेरफेर करने के लिए कोड क्यों नहीं जोड़ सकते? क्या मैं कुछ भूल रहा हूँ? –

+0

नहीं, मैं इसे याद कर रहा था! मैं एक जेएसक्रिप्ट नोब हूँ। –

उत्तर

49
$('.login').toggle(
    function(){ 
     $('#panel').animate({ 
      height: "150", 
      padding:"20px 0", 
      backgroundColor:'#000000', 
      opacity:.8 
     }, 500); 
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
    }, 
    function(){ 
     $('#panel').animate({ 
      height: "0", 
      padding:"0px 0", 
      opacity:.2 
     }, 500);  
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
}); 
+0

आह ... मुझे विश्वास नहीं है कि मुझे याद आया! आपका बहुत बहुत धन्यवाद! –

+2

यह फ़ंक्शन JQuery 1.8 के रूप में बहिष्कृत है और JQuery 1.9 में हटा दिया गया है। http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

6

मैं टॉगल समारोह के अंदर दोहरे कार्यों को जोड़ने लगता है न एक पंजीकृत क्लिक करें घटना के लिए काम करता

उदाहरण के लिए (जब तक मैं कुछ याद कर रहा हूँ):

$('.btnName').click(function() { 
top.$('#panel').toggle(function() { 
    $(this).animate({ 
    // style change 
    }, 500); 
    }, 
    function() { 
    $(this).animate({ 
    // style change back 
    }, 500); 
}); 
+1

तो, आप क्या कहने की कोशिश कर रहे हैं? मुझे नहीं लगता कि यह कोड देने में मददगार है जो काम करता है और कहता है "ओह, यह काम करता है"। एक असली समाधान पोस्ट करें। – Dementic

+0

मुझे लगता है कि यह कोड देने में मददगार है जो काम करता है और कहता है "ओह, यह काम करता है"। – Alireza

+0

यह फ़ंक्शन JQuery 1.8 के रूप में बहिष्कृत है और JQuery 1.9 में हटा दिया गया है। http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

-7
onmouseover="$('.play-detail').stop().animate({'height': '84px'},'300');" 

onmouseout="$('.play-detail').stop().animate({'height': '44px'},'300');" 

बस डाल दो स्टॉप - एक ऑनसाउसओवर और एक ऑनसाउसआउट।

+1

इनलाइन जावास्क्रिप्ट का उपयोग करना एक अच्छा पैटर्न नहीं है। यदि आप पहले से ही jQuery उपयोग ईवेंट हैंडलर का उपयोग कर रहे हैं। – akluth

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