2011-08-26 10 views
6
function countDownRound() { 
    if(myRoundTimeRemaining >= 0){ 
     var secs = myRoundTimeRemaining; 
     if(secs < 10) 
     { 
      secs = "0" + secs; 
     } 
     $("#countdown").html(':'+secs); 
     CountdownTimer = setTimeout(countDownRound, 1000); 
     myRoundTimeRemaining--; 
    } 
    else{ 
     $("#countdown").html(''); 
    } 
} 

फ़ायरफ़ॉक्स पर उपर्युक्त कोड की अपेक्षा करता है। प्रत्येक दूसरा घटती संख्या "उलटी गिनती" तत्व में प्रदर्शित होती है।उलटी गिनती टाइमर सही क्रोम/सफारी पर प्रस्तुत नहीं करता है, लेकिन फ़ायरफ़ॉक्स

सफारी और क्रोम पर, कोड ठीक से चलता है, लेकिन ऑन-स्क्रीन तत्व नहीं बदलता है। अगर कुछ और होता है (जैसे ब्राउज़र विंडो का आकार बदलना) तत्व ठीक से अद्यतन करते हैं।

यह किसी प्रकार की अनुकूलन या थ्रेड-आधारित समस्या की तरह दिखता है, लेकिन मुझे कोई समाधान नहीं मिल रहा है।

+4

क्रोम http://jsfiddle.net/br4uK/ –

+0

पर मेरे लिए ठीक काम करता है मेरे लिए भी ठीक काम करता है। आप क्रोम और सफारी का किस संस्करण का उपयोग कर रहे हैं? –

+0

दिलचस्प। यह JQuery के एनीमेशन स्टैक के साथ कुछ कर सकता है - मुझे यह चेतावनी मिली: "अनुरोध की प्रकृति के कारणएनीमेशन फ्रेम(), आपको कभी भी सेट इंटरवल या सेटटाइमआउट लूप का उपयोग करके एनिमेशन कतार नहीं करना चाहिए।" हालांकि यह ऑब्जेक्ट एनिमेट नहीं कर रहा है, हमारी कुछ अन्य वस्तुएं हैं ... –

उत्तर

0

क्रोम, सफारी और फ़ायरफ़ॉक्स पर भी मेरे लिए ठीक काम करता है।

शायद इस मामले है कि आप अपने परिणाम प्रदर्शित करने के लिए html टैग का प्रयोग करने की आवश्यकता है डॉन 'टी में, पाठ() की तुलना में बेहतर एचटीएमएल() काम कर सकते हैं।

का उपयोग करके देखें

$("#countdown").text(':'+secs); 
बजाय

एचटीएमएल()।

ओबीएस: ऐसा लगता है कि आपके ऑपरेटिंग सिस्टम पर अस्थिरता के कुछ बच्चे ब्राउज़र प्रतिपादन को भी प्रभावित कर सकते हैं। क्या कोई इसे पुष्टि या अस्वीकार कर सकता है?

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