使用setTimeout控制弹出窗口

时间:2015-12-22 17:42:20

标签: javascript jquery html popup settimeout

我正在为我的女朋友制作一个网站作为节日礼物。我们都喜欢艺术,代码和音乐,所以是的! 我正在尝试创建一个只有一个按钮/链接的网站,在点击之后,网站开始播放音乐,打开和关闭弹出窗口,其中包含一些GIF和音乐。问题是,我很难在我的第一个弹出窗口上应用延迟,它会自动关闭,但即使在阅读并尝试本主题中其他问题的代码后,我也无法得到弹出窗口打开的延迟工作正常。另外,我无法将弹出窗口放在屏幕的特定位置:((这就是我所拥有的:

function one(param, callback){ 
    //param = "apple"
    callback(param) //the callback here is the returned function in two
}

function two(callback){ //three
    return function(paramViaOne) {
        //paramViaOne = "apple"
        callback(paramViaOne);
    };
}

function three(paramFromTwoViaOne){
    //paramFromTwoViaOne = "apple"
}


one("apple", two(three)) //two(three) returns an anonymous function that is used by one

2 个答案:

答案 0 :(得分:0)

所以我在这里测试你的代码,似乎工作正常。也许问题可能出在您使用的浏览器上。在谷歌浏览器中试用你的代码,延迟应该有效。关于页面中的弹出位置,您希望将带有数值的top和left属性添加到window.open的第三个参数。类似的东西:

...',height='+height + ', left=500, top=500')

答案 1 :(得分:0)

要延迟打开窗口,请使用其他setTimeout

function popWindow() {
    setTimeout(function() {
        var newWindow = window.open(theURL,'newWindow','toolbar=no,menubar=no,resizable=no,scrollbars=no,status=no,location=no,width='+width+',height='+height);

        setTimeout(function() {
            newWindow.close();
        }, 3000);
    }, 5000);
}