【问题标题】:How to add 5 second delay to onClick window.open?如何为 onClick window.open 添加 5 秒延迟?
【发布时间】:2013-12-12 03:04:45
【问题描述】:

我有一个代码可以通过单击文本链接的滑动动作隐藏多个 div。 我还需要在文本链接中添加一个 open.window,它会在延迟几秒钟后在另一个窗口中打开一个 url。

所以我想一键隐藏一组div,并在短暂延迟后在另一个窗口中打开一个url,这样在打开url之前就可以看到滑动动作。

我有这段代码可以通过滑动操作隐藏 div ...

$("#hide-content").click(function () {
$(".otherContainers").hide('slide',{direction: "right"}, 1000);
});

这个是文本链接....

<div id="hide-content"><a href="#" class="showHideContent" style="text-decoration:none" onclick="window.open('http://google.com')">hide and visit</a>
</div>

我尝试过添加延迟,但它不起作用...

onclick="setTimeout('window.open(\'http://google.com');'5000;"

有什么想法吗?谢谢!

这是一个小提琴 http://jsfiddle.net/eeyipes/Jf6wM/13/

【问题讨论】:

  • 您的 setTimeout 函数缺少一个结束括号...
  • 只有来自用户操作的窗口才会打开。使用超时延迟打开窗口可能会导致某些浏览器阻止窗口,尽管我还没有真正测试过。
  • 我没有对此进行详尽的测试,但如果超时时间为 1001 毫秒或更长,浏览器似乎确实会阻止窗口。

标签: jquery onclick delay window.open


【解决方案1】:

您的括号和引号不平衡。试试:

onclick="setTimeout('window.open(\'http://google.com\')', 5000);"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多