【发布时间】:2017-08-18 00:57:26
【问题描述】:
我正在使用 JavaScript 并尝试编写一个函数来使颜色闪烁,但问题是当我单击切换闪烁按钮时,当我单击停止切换结束按钮时它不会停止闪烁。我正在尝试实施 clearInterval 以使其停止但没有运气。任何帮助表示赞赏。
function main() {
$('.select-color').on('click', function() {
var selectedColor = $(this).attr('class');
switch (selectedColor) {
case 'select-color cyan not-selected':
colorClass = 'cyan';
break;
case 'select-color yellow not-selected':
colorClass = 'yellow';
break;
case 'select-color magenta not-selected':
colorClass = 'magenta';
break;
}
$(this).removeClass('not-selected');
$(this).siblings().addClass('not-selected');
});
var colorClass = '';
$('.box').on('click', function() {
$(this).toggleClass(colorClass);
});
$('.toggle-blink').on('click', function() {
if (colorClass) {
$('.toggle-blink').toggleClass('opacity');
}
setInterval(function() {
$('.box.cyan, .box.yellow, .box.magenta').toggleClass('blink');
}, 500);
});
$('.toggle-blink-end').on('click', function() {
scope.clearInterval(main);
});
}
$(document).ready(main);
【问题讨论】:
-
clearInterval用于停止setInterval对传递给它的函数的循环调用