मैं एक setInterval कॉलबैक के भीतर से एक setTimeout कॉल करने के लिए कोशिश कर रहा हूँ के भीतर क्षेत्र से बाहर वार हल करने के लिए कैसे:setTimeout कॉल
function callback()
{
//assign myVar
var myVar = document.getElementById("givenID");
//...
//now wait 2 secs then call some code that uses myVAr
setTimeout("myVar.innerHTML = 'TEST'", 2000);
}
setInterval("callback();", 10000);
setInterval की उम्मीद है, लेकिन setTimeout कॉल विफल हो रहा है के रूप में काम करता है। मुझे लगता है कि समस्या इस तथ्य से संबंधित है कि मैं एक चर (myVar) का संदर्भ दे रहा हूं जो दायरे में नहीं है।
इसे हल करने का सबसे अच्छा तरीका क्या है?
बंद का उपयोग करना है कि मैं नीचे दिया गया इस पर काम होता है, आंतरिक बंद बाहरी बंद गुंजाइश की पहुंच है। – FlySwat
मुझे कुछ याद आना चाहिए - क्या आप myVar को पूर्ववत करके कुछ प्रदर्शन सहेजने की कोशिश कर रहे हैं? क्यों नहीं सेटटाइमआउट ("document.getElementById (" givenID ")। आंतरिक HTML = 'टेस्ट'", 2000); ? –
setTimout/setInterval के साथ उद्धरणों का उपयोग न करें, यह जेएस रनटाइम को इवल का आह्वान करने के लिए मजबूर करता है, जो कोड को नए संदर्भ में चलाता है, इसलिए दायरा समस्या। – FlySwat