2015-05-15 4 views
5

मुझे निम्न समस्या है। यहाँ कोड है:ऑटोप्ले/रोकें जब माउसओवर माउसआउट JQuery

<div class="article-content-wrapper> 
    <%= video_tag 'Garden.mp4', :class => "video", :controls => true %> 
</div> 

माउसओवर पर मैं वीडियो ऑटोप्ले/फिर से शुरू पर जाना चाहते हैं, और mouseout पर, वीडियो को रोकने के लिए।

मैं JQuery के साथ ऐसा कैसे कर सकता हूं? मैंने JQuery वेबसाइट पर बहुत कुछ खोजा लेकिन मुझे मेरे लिए कुछ भी नहीं मिला। मैंने जिस कोड को आजमाया वह काम नहीं करता था।

cSlider: stop autoplay on mouseover या autoplay video in slider या JQuery autoplay video on click show

मदद के लिए धन्यवाद।

+1

आप पोस्ट कृपया वास्तविक HTML उत्पन्न –

उत्तर

7

एक आसान वैकल्पिक हल:

$(function(){ 
    $('.video').on('mouseenter', function(){ 
     if(this.paused) this.play(); 
    }).on('mouseleave', function(){ 
     if(!this.paused) this.pause(); 
    }); 
}); 

Check jsFiddle

+0

धन्यवाद दोस्त! यही काम है ! –

4
$(document).ready(function() { 
    $(document).on({ 
     mouseenter: function() { this.play(); }, 
     mouseleave: function() { this.pause(); } 
    }, '.video'); 
}); 
+0

यह प्रत्यायोजित घटनाओं का उपयोग करने के अपने तत्वों को गतिशील – kosmos

+0

लोड नहीं किया आवश्यक नहीं है, लेकिन यह अधिक है सामान्य नहीं? –

+0

बिलकुल नहीं। प्रत्येक मामले के लिए हर तरह से है। उदाहरण के लिए, प्रतिनिधि कार्यक्रमों के साथ आप 'event.stopPropagation() 'का उपयोग नहीं कर सकते हैं, क्योंकि इस कार्यक्रम ने दस्तावेज़ तक सभी तरह से पहले से ही प्रतिनिधिमंडल का भुगतान किया है। यदि आपका डोम गहरा है तो यह प्रदर्शन को प्रभावित कर सकता है। इसलिए जब आवश्यक हो तो आपको उनका उपयोग करना चाहिए। – kosmos

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