Мой скрипт работает хорошо, но единственная проблема у меня есть.
Я хочу показать счетчик в удобочитаемом стиле, потому что теперь он показывает в миллисекундах
Я хочу, чтобы время осталось 1:02 минуты
Поэтому я хочу отображать оставшееся время в удобочитаемом стиле в браузере, а не в миллисекундах
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<body>
<p>Time left: <span id="timr"></span></p>
<p id="hpd">Welcome here john</p>
<p id="shp" style="display:none">Your time is up</p>
<input type="button" value="Hi john" id="btn">
<script>
var SessionTime=100000;
var tickDuration=1000;
var myInterval=setInterval(function(){
SessionTime=SessionTime-tickDuration
$("#timr").text(SessionTime);
},1000);
var myTimeOut=setTimeout(SessionExpireEvent,SessionTime);
$("input").click(function(){
clearTimeout(myTimeOut);
SessionTime=100000;
myTimeOut=setTimeout(SessionExpireEvent,SessionTime);
});
function SessionExpireEvent()
{ clearInterval(myInterval);
$("#btn").attr("disabled", true);
$("#hpd").hide();
$("#shp").show();
}
</script>
</body>
</html>
3 ответа
Вы можете просто заменить
$("#timr").text(SessionTime);
С участием
$("#timr").text(`${Math.floor(SessionTime/60000)}:${SessionTime/1000%60}`);
Похоже, вы хотите что-то вроде этого:
var mins = Math.floor(SessionTime / 1000 / 60);
SessionTime %= 60000;
var secs = SessionTime / 1000;
$("#timr").text(mins + ":" + secs);
Проверьте этот ответ => https://stackoverflow.com/a/21294619/11523633
Вы можете скопировать функцию millisToMinutesAndSeconds()
в свой скрипт и вызвать ее в myInterval.
Примере:
function millisToMinutesAndSeconds(millis) {
var minutes = Math.floor(millis / 60000);
var seconds = ((millis % 60000) / 1000).toFixed(0);
return seconds == 60
? minutes + 1 + ":00"
: minutes + ":" + (seconds < 10 ? "0" : "") + seconds;
}
var myInterval = setInterval(function () {
SessionTime = SessionTime - tickDuration;
$("#timr").text(millisToMinutesAndSeconds(SessionTime));
}, 1000);
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.