更改脚本:每隔X秒循环显示div通过单击按钮手动选择DIV

时间:2011-08-29 08:18:07

标签: javascript jquery css html timer

页面Show and hide divs at a specific time interval using jQuery

上的

有一个循环通过DIV的脚本(在隐藏其他人的同时显示另一个DIV)。

它被称为“每10秒循环一次div”

它工作正常,但我需要通过点击特殊按钮TOO来选择一个特殊的DIV。

有3个标题为1 - 2 - 3的DIVS(活动为红色)循环脚本会更改DIV并向右显示。 BUt点击2 DIV Nr。 2应该变得活跃。 (并且循环应该继续使用Nr.3 - 1 - 2 ....

简单地说:点击按钮3

时如何告诉脚本“counter = 3”

http://nill-theobald.de/index-test1.html =基于计时器的脚本 (http://nill-theobald.de/index-test2.html =通过点击(完全不同的脚本))

请告诉它一个完整的javascript-idiot(= me ...)

: - )

谢谢你!

1 个答案:

答案 0 :(得分:0)

“简单地说:如何在点击按钮3时告诉脚本”counter = 3“ - 我假设您的脚本是here

假设您有一个这样的按钮(例如):

<input type="button" id="button-3" value="Click me">

用于处理点击的JS非常简单:

$("#button-3").click(function() {
    counter = 3;
});

此处理程序必须与计数器变量在同一范围内才能使其工作(如果上面链接的脚本可以在声明 var counter = 0; 之后);

编辑: 还有一件事。为确保在预期时间内切换div,您必须强制执行一些intervalId管理。

HTML:

<a href="#" class="button" rel="1"><img width="11" height="10" alt="video 1" src="orange.gif"></a>
<a href="#" class="button" rel="2"><img width="11" height="10" alt="video 1" src="grau.gif"></a>
<a href="#" class="button" rel="3"><img width="11" height="10" alt="video 1" src="grau.gif"></a>

JS:

$(".button").click(function() {
    counter = parseInt(this.rel);
    showDiv(); // show next div
    setIntervalSwitch(); // reset the interval so the next "switch" is in X seconds
}); 

var intervalId;
var setIntervalSwitch = function() {
    clearInterval(intervalId); // clear old interval
    // now start interval again
    intervalId = setInterval(function () {
         showDiv(); // show next div
    }, 5 * 1000);
}
// call the setIntervalSwitch to initialize interval before someone manually click on any div
setIntervalSwitch();