单击按钮后,由于站点动画,我需要页面等待.8s在同一窗口中打开链接。
下面的超时代码仅在href目标是_blank
的情况下才有效,而在目标是默认_self
的情况下则无效-链接变为undefined
。
$("#button").click(function() {
setTimeout(function(url) {
window.location = url;
}, 800, linkUrl);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<a href="https://www.w3schools.com"><button id="button">Click</button></a>
如何修复我的代码,以便在单击按钮后在同一窗口中打开新链接之前,代码将等待.8s?
答案 0 :(得分:1)
如果您单击按钮,则触发锚href。只需删除a
标记并设置window.location
。
$("#button").click(function() {
setTimeout(function() {
window.location = "https://www.w3schools.com";
}, 800);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<button id="button">Click</button>
答案 1 :(得分:0)
U应该使用location.href = "url.com"
或window.open("url.com")
而不是标记中。
检查这些帖子以进一步了解 Jquery Delay After Click Open URL in same window and in same tab
$("button").click(
function() {
console.log("clicked...waiting...");
setTimeout(
function() {
location.href = "https://stackoverflow.com/questions/8752541/jquery-delay-after-click";
},
800);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button">Click Me</button>