मैं एक एनीमेशन चलाने के लिए केवल एक एनीमेशन चलाने की कोशिश कर रहा हूं जब माउस किसी ऑब्जेक्ट पर हो। मैं एनीमेशन का एक पुनरावृत्ति प्राप्त कर सकता हूं और फिर इसे माउस पर सामान्य पर वापस सेट कर सकता हूं। लेकिन मैं एनीमेशन को माउसओवर पर लूप करना चाहता हूं। SetInterval का उपयोग करके, मैं इसे कैसे करूँगा? मैं थोड़ा फंस गया हूँ।माउसओवर पर jquery निरंतर एनीमेशन
उत्तर
यह इस तरह किया जा सकता है:
$.fn.loopingAnimation = function(props, dur, eas)
{
if (this.data('loop') == true)
{
this.animate(props, dur, eas, function() {
if($(this).data('loop') == true) $(this).loopingAnimation(props, dur, eas);
});
}
return this; // Don't break the chain
}
अब, आप ऐसा कर सकते हैं:
$("div.animate").hover(function(){
$(this).data('loop', true).stop().loopingAnimation({ left: "+10px"}, 300);
}, function(){
$(this).data('loop', false);
// Now our animation will stop after fully completing its last cycle
});
यदि आप एनीमेशन चाहता था तुरंत रोक, आप hoverOut
लाइन को बदल सकता है पढ़ने के लिए :
$(this).data('loop', false).stop();
setInterval
टाइमर को अक्षम करने के लिए clearInterval
पर एक आईडी लौटा दी जा सकती है।
आप लिख सकते हैं निम्नलिखित:
var timerId;
$(something).hover(
function() {
timerId = setInterval(function() { ... }, 100);
},
function() { clearInterval(timerId); }
);
पर विचार करें:
साथ<div id="anim">This is a test</div>
:
#anim { padding: 15px; background: yellow; }
और:
var over = false;
$(function() {
$("#anim").hover(function() {
over = true;
grow_anim();
}, function() {
over = false;
});
});
function grow_anim() {
if (over) {
$("#anim").animate({paddingLeft: "100px"}, 1000, shrink_anim);
}
}
function shrink_anim() {
$("#anim").animate({paddingLeft: "15px"}, 1000, grow_anim);
}
आप इसे टाइमर का उपयोग करके भी प्राप्त कर सकते हैं।
कूल समाधान। मैं अभी भी जेएस में एक नौसिखिया हूँ। मैं यह सामान्य कैसे बनाऊंगा ताकि अगर मेरे पास कई एनीज़ हों, तो मुझे लगता है कि मैं फ़ंक्शन में आईडी में पास करूंगा और फिर प्रत्येक बार प्रत्येक बार इसे कॉल करूंगा? क्या फ़ंक्शन() भाग वहां पैरामीटर ले सकता है, और hwo मैं इसे प्रत्येक प्रकार के लिए कॉल करूंगा, क्या वास्तव में यह सबसे अच्छा समाधान है? –
मैं पृष्ठ पर एक से अधिक वस्तु के लिए काम करने के लिए यह आवश्यक तो मैं एक छोटे से कि्लिटस के कोड को संशोधित: समस्याओं wtih प्रत्यावर्तन के कारण
var over = false;
$(function() {
$("#hovered-item").hover(function() {
$(this).css("position", "relative");
over = true;
swinger = this;
grow_anim();
}, function() {
over = false;
});
});
function grow_anim() {
if (over) {
$(swinger).animate({left: "5px"}, 200, 'linear', shrink_anim);
}
}
function shrink_anim() {
$(swinger).animate({left: "0"}, 200, 'linear', grow_anim);
}
- 1. Jquery: छवि मानचित्र क्षेत्र पर माउसओवर घटना
- 2. cSlider: माउसओवर पर ऑटोप्ले रोकें
- 3. नॉकआउटज बाइंड माउसओवर या Jquery
- 4. एक सिल्वरलाइट/डब्ल्यूपीएफ बटन पर माउसओवर स्टाइल
- 5. माउसओवर
- 6. माउसओवर
- 7. माउसओवर
- 8. एनीमेशन अनुक्रम लूप jquery
- 9. आप माउसओवर पर डीआईवी कैसे स्वैप करते हैं? (jquery?)
- 10. jQuery निरंतर mousedown
- 11. Matplotlib: माउसओवर पर लेबल पॉइंट
- 12. jQuery पृष्ठभूमि रंग एनीमेशन
- 13. एनीमेशन: jQuery या राफेल?
- 14. jquery एनीमेशन कॉलबैक - कॉलबैक
- 15. jQuery .slideUp() एनीमेशन
- 16. jQuery के एनीमेशन लोड
- 17. jQuery टैब फीड एनीमेशन
- 18. jQuery टॉगल एनीमेशन
- 19. jQuery एनीमेशन विलंब
- 20. JQuery स्लाइडडाउन एनीमेशन अंतराल
- 21. jQuery - इंटरप्ट एनीमेशन?
- 22. jQuery लोचदार एनीमेशन
- 23. लूप पर एसवीजी एनीमेशन अस्पष्टता
- 24. माउसओवर जबकि mousedown
- 25. jQuery होवर छवि परिवर्तन एनीमेशन
- 26. jQuery में ग्लिची टेक्स्ट एनीमेशन
- 27. jQuery एनीमेशन बनाम GreenSock TweenMax
- 28. माउसओवर पर लीफलेट पॉपअप हटाएं ईवेंट
- 29. सीएसएस हल्के माउसओवर पर बाल तत्व
- 30. विंडोज़ फॉर्म में माउसओवर पर प्रदर्शित छवि?
मैं अपने जवाब स्विच करने के लिए किया था। मुझे लूपिंग एनीमेशन विधि के साथ काम करने का जवाब नहीं मिल रहा है - अगर मैं इसे "एनिमेट" में बदलता हूं, तो यह एक पुनरावृत्ति करता है। –
डौग, * एनिमेट * कॉल बंद करने वाले कोष्ठक गायब था इसलिए मैंने इसे जोड़ा लेकिन यह बचाने के लिए पर्याप्त नहीं था क्योंकि आपको कम से कम 6 वर्ण संशोधनों की आवश्यकता है, इसलिए मैंने उस उद्देश्य के लिए अपना कोड इंडेंट किया। FYI करें। –