延迟关闭 JavaScript 窗口
Delayed closing of a javascript window
我正在开发一个JavaScript窗口,该窗口显示Google DFP的广告。 我是javascript的初学者,我这里的代码改编自另一个广告服务。
窗口在页面加载时打开得很好,单击关闭按钮时它会关闭,但我希望它在经过一定时间(例如五秒钟)后自动关闭。
这是我使用的代码:
<html>
<head>
<style>
.simple_overlay {
display: none;
z-index: 10000;
background-color: #fff;
width: 640px;
height: 480px;
border: 20px solid black;
-moz-box-shadow: 0 0 90px 5px #000;
-webkit-box-shadow: 0 0 90px #000;
}
.simple_overlay .close {
background-image: url https://s3.amazonaws.com/onlineads/interstitial_test/CloseWindow_shoot.png);
position: absolute;
right: -35px;
top: -35px;
cursor: pointer;
height: 30px;
width: 30px;
}
.title {
font-weight: 20px;
}
</style>
<script type="text/javascript" src="https://s3.amazonaws.com/onlineads/shoot_js/jquery.min.js"></script>
<script type="text/javascript" src="https://s3.amazonaws.com/onlineads/shoot_js/jquery.tools.min.js"></script>
<script>
setTimeout( function() { $("#interstitial_test").overlay({top: 200,mask: { color: "black", loadSpeed: 200, opacity: 0.5}, closeOnClick: false,load: false});
setTimeout( function() {$("#interstitial_test").overlay().load();},2000);},200);
</script>
<title>Intestitial Test</title>
</head>
<body>
<div class="simple_overlay" id="interstitial_test">
<img src="https://s3.amazonaws.com/onlineads/shoot/Interstitial_Artwork.jpg"></img>
</div>
</body>
</html>
这将使用覆盖提供的 onLoad 事件中的构建。加载覆盖层后,onload
事件将触发关闭对话框的setTimeout
。
有关覆盖的文档
在叠加设置中将其添加到您的页面
$("#interstitial_test").overlay(... onLoad : closeModalOverlay ...)
以及以下功能。我将默认关闭时间设置为 10 秒
function closeModalOverlay() {
setTimeout( function() {$("#interstitial_test").overlay().close();},10000);
}
主题无效,因为您谈论的是窗口而不是"弹出窗口";我知道这只是文字;但它会帮助人们了解你的问题。
顺便说一下,这是我的建议:
// Wait until DOM is ready
$(function(){
// This is your Element :
$overlay = $("#interstitial_test");
// Assign the overlayJQueryStuffs
$overlay.overlay(
{
top: 200,
mask: {
color: "black",
loadSpeed: 200,
opacity: 0.5
},
closeOnClick: false,
load: false
}
);
// Open it
$overlay.overlay().load();
// Close it later :
setTimeout(
function() {
$overlay.overlay().close();
},
2000
);
});
.simple_overlay {
display: none;
z-index: 10000;
background-color: #fff;
/*
width: 640px;
height: 250px;
*/
width: 64px;
height: 25px;
border: 20px solid black;
-moz-box-shadow: 0 0 90px 5px #000;
-webkit-box-shadow: 0 0 90px #000;
}
.simple_overlay .close {
background-image: url(https://s3.amazonaws.com/onlineads/interstitial_test/CloseWindow_shoot.png);
position: absolute;
right: -35px;
top: -35px;
cursor: pointer;
height: 30px;
width: 30px;
}
.title {
font-weight: 20px;
}
<div class="simple_overlay" id="interstitial_test">
<img src="https://s3.amazonaws.com/onlineads/shoot/Interstitial_Artwork.jpg"></img>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.jquerytools.org/1.2.6/full/jquery.tools.min.js"></script>
希望对您有所帮助。我使用这个文档来了解覆盖:http://jquerytools.github.io/documentation/overlay/
我认为@Mouser是对的。我可能不明白这个问题。如果您想在弹出窗口关闭后 x 时间关闭弹出窗口。您必须将关闭函数放在 onload 事件中。
感谢大家为我指出正确的方向(以及覆盖文档。
答案很简单;我添加了以下代码。
setTimeout('$("#interstitial_test").data("overlay").close();', 10000);
这似乎很完美。
var timer = 5000; // in millisecond
setTimeout(function() {
// trigger a click on the #interstitial_test after 5 seconds.
$('#interstitial_test').trigger('click');
}, timer);
不确定这是否是您想要的。我假设您单击 #interstitial_test 元素关闭窗口。
相关文章:
- 关闭黑莓浏览器窗口 JavaScript
- 关闭窗口 Javascript
- 清除窗口Javascript幻灯片
- 弹出窗口JavaScript的站点地图生成器
- 根据弹出窗口javascript的返回值更改asp.net面板的可见性
- 将var添加到新窗口Javascript中
- 如何在引导模式弹出窗口(javascript,jquery)上运行函数
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 将值传递给弹出窗口 [JavaScript]
- 在链接后控制父窗口(JavaScript)
- 将数据发送到单独的窗口javascript
- 正在访问窗口.Javascript 中的应用程序函数
- 将变量从父窗口Javascript函数传递到弹出窗口分区
- 在内容进入打印机之前关闭窗口(JavaScript)
- 窗口.JavaScript中的innerWidth
- 是否可以从子窗口关闭父窗口(Javascript)
- 窗口.javascript中的Innerheight减去数字
- 如果我重写窗口.javascript中的onerror应该返回true还是false
- 计数值后关闭窗口javascript
- 如何在缩略图图像的翻转上显示弹出窗口?Javascript、CSS