延迟

时间:2015-06-16 17:39:43

标签: javascript html

我正在为自己制作一个网页。我有一个带有大背景壁纸的欢迎屏幕,只有一个链接,您必须单击才能进入索引页面。单击链接时,我在欢迎页面上播放声音,但单击链接后会打开索引页面,甚至听不到声音。我想在点击链接后延迟几秒钟,以便声音可以在头到尾播放。

我的jsfiddle http://jsfiddle.net/cs6yqawr/

$('a[href*="/*html"]').each(function() {
    $(this).on('click', function(event) {
        event.preventDefault();
        (function(h) {
            setTimeout(function() {
                window.location = h;
            }, 5000);
        })(this.href);
    });
});

试过这段代码,但我无法让它运转起来。 有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我认为它只是事件处理程序的选择器。尝试:

$(document).on('click', 'a', function(event) {
    event.preventDefault();
    setTimeout(function(h) {
        window.location = h;
    }, 5000, this.href);
});

或者理想情况下,只需给链接一个id并将处理程序绑定到该链接。

答案 1 :(得分:1)

尝试过,它会在播放新页面之前播放音乐。

$('.big-btn').click(function(e) {
    e.preventDefault();
    console.log(this);
    var embed = $('<embed src="Kalimba.mp3" hidden="true">');
    embed.appendTo($('#embed'));
    embed.ready(function () {
      setTimeout(function() {
        window.location = 'index.html';
      }, 2000);

    });

});

您应该替换我的测试mp3,目标位置和延迟ms以供您使用。