Jquery 延迟打开页面上的所有链接
当href包含某些文本时,我正在尝试打开页面上的所有链接,此时我正在使用Jquery 延迟打开页面上的所有链接,jquery,Jquery,当href包含某些文本时,我正在尝试打开页面上的所有链接,此时我正在使用 $('a[href*="/steve"]').each(function() { window.open($(this).attr('href') ); }); 现在,我正在使用的页面在href中包含大量与该文本相关的链接,因此它会在很短的时间内向我发送打开窗口的垃圾邮件,我想添加一个延迟,以便它有时间打开并等待大约5秒,然后再打开下一个窗口。我正在尝试使用。delay,但无法使其工作,因为我是一名新手,不知道
$('a[href*="/steve"]').each(function() {
window.open($(this).attr('href') );
});
现在,我正在使用的页面在href中包含大量与该文本相关的链接,因此它会在很短的时间内向我发送打开窗口的垃圾邮件,我想添加一个延迟,以便它有时间打开并等待大约5秒,然后再打开下一个窗口。我正在尝试使用。delay,但无法使其工作,因为我是一名新手,不知道将其放置在何处。您可以执行以下操作:
$('a[href*="/steve"]').each(function(index) {
setTimeout(
function(href){window.open(href)},
(index+1)*5000, $(this).attr('href')
);
});
其思想是以不断增加的延迟调用setTimeout。您可以这样做:
$('a[href*="/steve"]').each(function(index) {
setTimeout(
function(href){window.open(href)},
(index+1)*5000, $(this).attr('href')
);
});
其思想是以不断增加的延迟调用setTimeout。使用setTimeout添加延迟:
var i = 0;
$('a[href*="/steve"]').each(function() {
++i;
setTimeout(function(href) { window.open(href) },i*5000, $(this).attr("href"));
});
使用setTimeout添加延迟:
var i = 0;
$('a[href*="/steve"]').each(function() {
++i;
setTimeout(function(href) { window.open(href) },i*5000, $(this).attr("href"));
});
不需要使用变量。有一个索引参数传递给each回调方法。使用该值乘以延迟。此外,IE不支持通过SetTimeOut将参数传递给函数无需使用变量。有一个索引参数传递给each回调方法。使用该值乘以延迟..另外IE不支持通过setTimeoutsetTimeout将函数作为参数传递给函数,window.open不返回参数..同时setTimeout在全局范围内运行。因此,这将指向window对象,而不是a链接。setTimeout将函数作为参数,window.open不返回函数。此外,setTimeout在全局范围内运行。因此,这将指向窗口对象,而不是a链接。。