【发布时间】:2014-11-08 06:55:38
【问题描述】:
我从按钮 onclick 事件中调用此函数:
function pauseSlide() {
clearInterval(sint);
setInterval(slideUpdate, 1000); paused(clearInterval)
}
我希望在第一次单击时执行 clearInterval(sint); 如果我再次单击该按钮,则只需执行 setInterval(slideUpdate, 1000);
就像一个开关。
例如,在 csharp 中,您可以这样做:CelsiusFahrenheit = !CelsiusFarenheit; 因此,单击布尔值摄氏华氏度为真,然后单击它为假,然后再次单击为真,依此类推....
这是javascript按钮的onclick事件:
var
slideShow = d.getElementById('slideShow'),
slideCounter = make('div', false, {id: 'slideCounter'}),
slideControls = make('div', false, {id: 'slideControls'}),
slidePrev = make('a', 'Previous Slide', {
onclick: function (e) {
controlEvent(e, prevSlide);
},
className: 'previous',
href: '#'
}, slideControls),
slideNext = make('a', 'Next Slide', {
onclick: function (e) {
controlEvent(e, nextSlide);
},
className: 'next',
href: '#'
}, slideControls),
slidePause = make('a', 'Pause Slide', {
onclick: function (e) {
controlEvent(e, pauseSlide);
},
className: 'pause',
href: '#'
}, slideControls)
我这样做了,如果我单击暂停幻灯片按钮,它将调用函数 pauseSlide 在 pauseSlide 中,我想让切换一次单击调用 clearInterval 另一次单击将调用 setInterval。
我也有这个功能:
function slideUpdate() {
if (swapCounter--)
showCounter();
else
nextSlide();
}
如果我经常点击按钮,它只会让倒计时每次移动得更快。
如果有帮助或需要,这是包含所有按钮事件的完整代码:
【问题讨论】:
-
第三次点击或第四次点击等怎么样?
-
詹姆斯确实是对的,这也是一个问题,即使在第 5 次或第 100 次点击之后,如何让暂停继续按钮也能像这样工作。
标签: javascript