Skip to content

Instantly share code, notes, and snippets.

@tayfunerbilen
Last active February 21, 2021 17:13
Show Gist options
  • Save tayfunerbilen/cb1ca994ab245815dfbe to your computer and use it in GitHub Desktop.
Save tayfunerbilen/cb1ca994ab245815dfbe to your computer and use it in GitHub Desktop.
jQuery.timer : Belirtilen dakikadan ve belirtilirse saniyeden geriye saymaya başlar ve bittiğinde callback fonksiyonu çalışır.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="jquery.timer.js"></script>
</head>
<body>
Kalan süre: <span id="timer"></span>
<script>
$('#timer').timer(5, function(){
alert('sona erdi!');
});
</script>
Kalan süre: <span id="timer2"></span>
<script>
$('#timer2').timer([5, 10], function(){
alert('sona erdi!');
});
</script>
</body>
</html>
$.fn.timer = function(time, callback){
if ( $.isArray(time) ){
this.minute = time[0];
this.second = time[1];
} else {
this.minute = time - 1;
this.second = 60;
}
var self = this,
timer = function(){
if ( self.minute == '00' && self.second == '00' ){
clearInterval(self.interval);
self.interval = null;
callback();
} else {
if ( self.second > 0 ) self.second--;
else {
self.minute -= 1;
self.second = 59;
}
$(self).text((self.minute < 10 ? '0' + self.minute : self.second) + ':' + (self.second < 10 ? '0' + self.second : self.second));
}
};
timer();
this.interval = setInterval(timer, 1000);
}
@ismailbayram
Copy link

eyvallah

@elifoz
Copy link

elifoz commented Jan 20, 2021

farklı tarayıcılarda aynı anda çalışmasını nasıl sağlayabilirim

@tayfunerbilen
Copy link
Author

farklı tarayıcılarda aynı anda çalışmasını nasıl sağlayabilirim

bunun için socket'le eşitleme yapmak gerekir, yani time'ın ortak olması gerekir, socket'i araştırabilirsiniz.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment