2015-08-19 6 views
5

div.logo होवर करने का पहला प्रयास सफलतापूर्वक समाप्त हो गया है और typed.js वाक्य टाइप करता है। उसके बाद, जब div.logo पर फिर से होवर करें यह काम नहीं करता है और कुछ भी टाइप नहीं करता है।typed.js दूसरे प्रयास के लिए काम नहीं करता

<script type="text/javascript"> 
    $(".logo").hover(function() { 
     $(this).toggleClass("clicked"); 
     if ($('.logo').hasClass('clicked')){ 
       $(function(){ 
       $('.logo').css('background-position','-20vmin center'); 
       console.log("n"); 
        $(".logo h3").typed({ 
        strings: ["Phoenix ^250 Programming ^250 Team"], 
        typeSpeed: 75 
        }); 
       }); 
     } 
     else{ 
      $('.logo').find("h3").text(""); 
      $('.logo span').remove(); 
      $('.logo').css('background-position','center left+1.5vmin'); 
     } 
    }); 
    </script> 
+0

आलसी लोगों के लिए, आप कृपया आप क्या करने की कोशिश कर रहे हैं के बारे में अधिक स्पष्ट हो सकता है, और शायद एक JSFiddle है कि समस्या से पता चलता की स्थापना की? –

+0

https://jsfiddle.net/7xrxvmz0/ यहां आप – kavian

उत्तर

3

आप source code for typed.js में देख सकते हैं, समारोह typed() लक्ष्य तत्व के लिए कुछ डेटा देता है, और अगर इस तरह के डेटा सेट किया गया है चलाने के लिए मना कर दिया:

var $this = $(this), 
    data = $this.data('typed'), // <<< 
    options = typeof option == 'object' && option; 
if (!data) // <<< 
    $this.data('typed', (data = new Typed(this, options))); 

इसलिए इससे पहले कि आप इसे अनसेट करने के लिए है typed() दो बार बुला:

$('.logo h3') 
    .data('typed', null) // <<< 
    .typed({ 
     strings: ["Phoenix ^250 Programming ^250 Team"], 
     typeSpeed: 75 
    }); 
+0

हैं, मेरी समस्या हल हो गई है – kavian

0

मैंने देखा है कि एंड्रिया का जवाब है, जबकि अपने मामले में काम किया है, यह गंदगी प्रभाव (यह भी जग होगा जीईडी) जब एकाधिक तत्वों के साथ एक स्ट्रिंग सरणी के साथ प्रयोग किया जाता है।

अगर किसी को भी वही समस्या का सामना करना पड़ता है, तो संभवत: मैंने जो किया वह कर सकता था।

मैंने यह जांचने के लिए एक काउंटर का उपयोग किया कि typed.js को दूसरी बार बुलाया गया है और फिर से जोड़ा गया है .logo h3 ऐसा करने पर।

तो, मैंने एक रैपर जोड़ा।

<div class="wrapper"> 
<div class="logo"><h3></h3></div> 
<div> 

और उसके बाद लागू किया

if(counter==1){ 
$(".logo h3").typed({ 
     strings: stringArrayWithManyElements, 
     typeSpeed: 75 
     }); 
} 
else{ 
    $('wrapper').html(''); 
    $(".logo h3") 
    .typed({ 
     strings: stringArrayWithManyElements, 
     typeSpeed: 75 
     }); 
} 
संबंधित मुद्दे