首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载ahref的Javascript Countdown

加载ahref的Javascript Countdown
EN

Stack Overflow用户
提问于 2015-11-11 03:52:15
回答 2查看 81关注 0票数 0

我完全是JavaScript的初学者,我正在尝试做一个可以加载<a href=""></a>的Javascript倒计时

我正在使用这段代码进行倒计时

代码语言:javascript
复制
<script language="Javascript">

var countdown;
var countdown_number;

function countdown_init() {
    countdown_number = 11;
    countdown_trigger();
}

function countdown_trigger() {
    if(countdown_number > 0) {
        countdown_number--;
        document.getElementById('countdown_text').innerHTML = countdown_number;
        if(countdown_number > 0) {
            countdown = setTimeout('countdown_trigger()', 1000);
        }
    }
}

function countdown_clear() {
    clearTimeout(countdown);
}

</script>

我想在计数达到0后准确加载这个<a href="bgplayer-stop://"></a> ...我完全迷失了..。我该怎么办?

它基本上是一个倒计时,在达到0后停止音乐播放器。我想设置几个倒计时,10分钟,15分钟和30分钟。

EN

回答 2

Stack Overflow用户

发布于 2015-11-11 04:10:28

下面是一个简单的示例,它主要使用了上面的内容。这将需要扩展一点,以便有多个倒计时,但总体思路在这里。

小提琴:http://jsfiddle.net/zp6nfc9b/5/

HTML:

代码语言:javascript
复制
<a id="link_to_click" href="bgplayer-stop://">link</a>
<span id="countdown_text"></span>

JS:

代码语言:javascript
复制
var countdown_number;
var countdown_text = document.getElementById('countdown_text');
var link_to_click = document.getElementById('link_to_click');

function countdown_init() {
    countdown_number = 11;
    countdown_trigger();
}

function countdown_trigger() {
    countdown_number--;
    countdown_text.innerHTML = countdown_number;
    if (countdown_number > 0) {
        setTimeout(
            function () {
                countdown_trigger();
            }, 1000
        );
    }
    else {
        link_to_click.click();
    }
}

link_to_click.addEventListener('click',
    function () {
        countdown_text.innerHTML = 'link was clicked after countdown';
    }
);

countdown_init();

为了解释一些部分,我认为总体上你的想法是正确的。

我只是添加了eventListener,以便您可以看到该链接实际上正在被单击,并在countdown_text中为您显示一条消息。

您不需要多次检查countdown_number,所以我删除了if块。

此外,您也不需要清除超时。一旦执行,它就会自行清除。如果你想在超时完成之前停止它,你只需要清除超时,但是因为我们需要超时完成才能进行下一步,所以没有必要这样做。

票数 0
EN

Stack Overflow用户

发布于 2015-11-11 04:12:35

代码语言:javascript
复制
var countdown;
var countdown_number;

function countdown_init(time) {
    countdown_number = time;
    countdown_trigger();
}


function countdown_trigger() {
    if (countdown_number > 0) { 
        countdown_number--;
        document.getElementById('countdown_text').innerHTML = countdown_number;
        setTimeout('countdown_trigger()', 1000)
    } else { // when reach 0sec
        stop_music()
    }
}

function stop_music(){ 
    window.location.href = "bgplayer-stop://"; //will redirect you automatically
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33638374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档