我有JS作为
setTimeout(function() {
setInterval(function() {
$('.home-tab-news').trigger('click');
}, 15000);
}, 5000);
setTimeout(function() {
setInterval(function() {
$('.home-tab-project').trigger('click');
}, 15000);
}, 10000);
setTimeout(function() {
setInterval(function() {
$('.home-tab-piechart').trigger('click');
}, 15000);
}, 15000);
我想要它做的是在一个循环中每10秒触发一次(此时它会执行此操作,但第一次的时间是关闭的吗?)
如果有人点击标签,我该如何停止过渡 - 此时,如果有人单击标签本身,则会继续发生过渡。
答案 0 :(得分:2)
请参阅第一个中的15000
?它意味着15,000毫秒。 10秒钟你需要放10,000个。
setTimeout(function() {
setInterval(function() {
$('.home-tab-news').trigger('click');
}, 10000);
}, 10000);
至于停止它,你只需将间隔分配给var:
var interval1;
setTimeout(function() {
interval1 = setInterval(function() {
$('.home-tab-news').trigger('click');
}, 10000);
}, 10000);
并在标签后点击:
clearInterval(interval1);
为了清除用户单击选项卡时的间隔,您可以在所有选项卡上附加单击处理程序,并清除处理程序触发时的间隔。既然你也以编程方式触发了点击,你需要区分编程点击和手动点击,我会用旗帜来区分它;
关于时间,我建议使用变量来指示当前标签,并在移动变量时循环显示它们。
var is_manual = true;
var interval1;
var Current_Tab = 1;
var Cycle_Speed_Seconds = 1;
$(function () {
$("#tabs").tabs();
setTimeout(function () {
console.log("start");
//set a click handler to your tabs:
$('.home-tab-news, .home-tab-project, .home-tab-piechart').click(function () {
console.log("click");
//check if clicked manually or automatically:
if (is_manual == false) {
//if automatic, clear flag and continue
is_manual = true;
} else if (is_manual == true) {
//if manual, clear interval
clearInterval(interval1);
}
//execute default action:
return true;
});
//set the interval to swap between tabs
interval1 = setInterval(function () {
//indicate that the click was trigerred automatically:
is_manual = false;
if (Current_Tab == 1) {
Current_Tab = 2;
$('.home-tab-news').trigger('click');
} else if (Current_Tab == 2) {
Current_Tab = 3;
$('.home-tab-project').trigger('click');
} else if (Current_Tab == 3) {
Current_Tab = 1;
$('.home-tab-piechart').trigger('click');
}
},Cycle_Speed_Seconds* 1000);
}, 0);
});
有点长,但我相信你理解我的观点。如果您有任何问题,请随时提出
的 Example 强>
答案 1 :(得分:0)
<强>语法强>
的setInterval(函数,毫秒,朗)
参数值
Parameter Description
function Required. The function that will be executed
milliseconds Required. The intervals (in milliseconds) on how often to execute the code
lang Optional. JScript | VBScript | JavaScript
返回值
一个整数,其中包含已设置的计时器的ID值。将此值与clearInterval()方法一起使用可取消计时器。
示例: -
var myVar = setInterval(function(){myTimer()}, 10000); //// For 10 seconds its 10 * 1000
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function myStopFunction() {
clearInterval(myVar);
}