Javascript倒计时加载ahref

时间:2015-11-10 19:52:15

标签: javascript jquery

我完全是JavaScript的初学者,我正在尝试制作加载<a href=""></a>

的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分钟......

谢谢!

2 个答案:

答案 0 :(得分:0)

这是一个简单的例子,主要使用你上面的内容。这需要进行一些扩展以便进行多次倒计时,但总体思路就在这里。

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

HTML:

<a id="link_to_click" href="bgplayer-stop://">link</a>
<span id="countdown_text"></span>

JS:

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 if block。

另外,您也不需要清除超时。一旦执行它就会自动清除。如果你想在它完成之前停止它,你真的只需要清除超时,但是因为我们依赖超时完成以便不需要进行下一步。

答案 1 :(得分:0)

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
}