উত্তর:
আপনি সেই সময়সীমার একটি রেফারেন্স সঞ্চয় করতে পারেন এবং তারপরে clearTimeoutসেই উল্লেখটি কল করতে পারেন।
// in the example above, assign the result
var timeoutHandle = window.setTimeout(...);
// in your click function, call clearTimeout
window.clearTimeout(timeoutHandle);
// then call setTimeout again to reset the timer
timeoutHandle = window.setTimeout(...);
.clear()সময়সীমা অবলম্বন নিজেই নেই।
window.setTimeoutএটি একটি "টাইমআউট অবজেক্ট" নয় একটি নম্বর (টাইমার আইডি) প্রদান করে।
ক্লিয়ারটাইমআউট () এবং সেটটাইমআউটের রেফারেন্সটি ফিড করুন, যা একটি সংখ্যা হবে। তারপরে এটিকে পুনরায় প্রার্থনা করুন:
var initial;
function invocation() {
alert('invoked')
initial = window.setTimeout(
function() {
document.body.style.backgroundColor = 'black'
}, 5000);
}
invocation();
document.body.onclick = function() {
alert('stopped')
clearTimeout( initial )
// re-invoke invocation()
}
এই উদাহরণস্বরূপ, আপনি যদি 5 সেকেন্ডের মধ্যে শরীরের উপাদানটিতে ক্লিক না করেন তবে পটভূমির রঙ কালো হবে।
রেফারেন্স:
দ্রষ্টব্য: সেটটাইমআউট এবং ক্লিয়ারটাইমআউট ECMAScript নেটিভ পদ্ধতি নয়, তবে বিশ্বব্যাপী উইন্ডো নেমস্পেসের জাভাস্ক্রিপ্ট পদ্ধতি।
আপনাকে টাইমআউট "টাইমার" মনে রাখতে হবে, এটি বাতিল করুন, এবং এটি পুনরায় চালু করুন:
g_timer = null;
$(document).ready(function() {
startTimer();
});
function startTimer() {
g_timer = window.setTimeout(function() {
window.location.href = 'file.php';
}, 115000);
}
function onClick() {
clearTimeout(g_timer);
startTimer();
}
var myTimer = setTimeout(..., 115000);
something.click(function () {
clearTimeout(myTimer);
myTimer = setTimeout(..., 115000);
});
সেই লাইন ধরে কিছু!
এই টাইমার 30 সেকেন্ড পরে একটি "হ্যালো" সতর্কতা বাক্সে আগুন দেবে। যাইহোক, আপনি যতবার রিসেট টাইমার বোতামটি ক্লিক করেন এটি টাইমারহ্যান্ডল সাফ করে তারপরে আবার সেট করে। এটি বরখাস্ত হয়ে গেলে, খেলাটি শেষ হয়।
<script type="text/javascript">
var timerHandle = setTimeout("alert('Hello')",3000);
function resetTimer() {
window.clearTimeout(timerHandle);
timerHandle = setTimeout("alert('Hello')",3000);
}
</script>
<body>
<button onclick="resetTimer()">Reset Timer</button>
</body>
var redirectionDelay;
function startRedirectionDelay(){
redirectionDelay = setTimeout(redirect, 115000);
}
function resetRedirectionDelay(){
clearTimeout(redirectionDelay);
}
function redirect(){
location.href = 'file.php';
}
// in your click >> fire those
resetRedirectionDelay();
startRedirectionDelay();
$(function() {
(function(){
var pthis = this;
this.mseg = 115000;
this.href = 'file.php'
this.setTimer = function() {
return (window.setTimeout( function() {window.location.href = this.href;}, this.mseg));
};
this.timer = pthis.setTimer();
this.clear = function(ref) { clearTimeout(ref.timer); ref.setTimer(); };
$(window.document).click( function(){pthis.clear.apply(pthis, [pthis])} );
})();
});
টাইমারটি পুনরায় সেট করতে আপনার টাইমার ভেরিয়েবলটি সেট করে সাফ করতে হবে
$time_out_handle = 0;
window.clearTimeout($time_out_handle);
$time_out_handle = window.setTimeout( function(){---}, 60000 );
আমি জানি এটি একটি পুরানো থ্রেড তবে আমি আজ এটি নিয়ে এসেছি
var timer = []; //creates a empty array called timer to store timer instances
var afterTimer = function(timerName, interval, callback){
window.clearTimeout(timer[timerName]); //clear the named timer if exists
timer[timerName] = window.setTimeout(function(){ //creates a new named timer
callback(); //executes your callback code after timer finished
},interval); //sets the timer timer
}
এবং আপনি ব্যবহার প্রার্থনা
afterTimer('<timername>string', <interval in milliseconds>int, function(){
your code here
});