<script>
function countdown(){
jQuery(document).ready(function($){
var countdown_html = $('.countdown').clone();
var countDownDate = new Date("Apr 23, 2017 19:37:25").getTime();
// Update the count down every 1 second
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
$('.num.days', countdown_html).text(days );
$('.num.hours', countdown_html).text(hours );
$('.num.minutes', countdown_html).text(minutes );
$('.num.seconds', countdown_html).text(seconds );
$('.countdown').countdown({until: <?php echo $date['to'] ?>, layout: countdown_html.html() });
});
}
var run = setInterval(countdown,1000);
</script>
此代码仅在1秒后执行一次倒计时功能。我正在尝试实现一个简单的倒数计时器,扩展一个不再兼容的wordpress插件。我是JavaScript的初学者,以上所有内容都是100%Copy&amp;粘贴,但除了自动调用函数外,一切正常。
答案 0 :(得分:-1)
像这样移动你的init函数:
<script>
jQuery(document).ready(function($){
function countdown(){
var countdown_html = $('.countdown').clone();
var countDownDate = new Date("Apr 23, 2017 19:37:25").getTime();
// Update the count down every 1 second
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
$('.num.days', countdown_html).text(days );
$('.num.hours', countdown_html).text(hours );
$('.num.minutes', countdown_html).text(minutes );
$('.num.seconds', countdown_html).text(seconds );
$('.countdown').countdown({until: <?php echo $date['to'] ?>, layout: countdown_html.html() });
}
var run = setInterval(countdown,1000);
});
</script>
jQuery(document).ready
仅被调用一次
答案 1 :(得分:-2)
由于您的所有代码都包含在jQuery(document).ready()
方法中,因此只有在文档准备就绪时才会执行,并且只能按照定义执行一次。