我可以暂时禁用元素更改css样式吗?

时间:2012-02-26 19:12:59

标签: jquery css intervals

我有一个div#元素,我正在使用jquery在间隔中更改css样式。

var i = 0;

function changeStyle() {

    $("#element").css("left",i+1);

}

setInterval("changeStyle()",500);

如何阻止元素更改样式一段时间?是否有类似$("#element").stop();函数的功能可以禁止元素更改其中的任何内容?

我不想要任何其他解决这个问题的方法,我只是想知道是否有类似stop()函数。

2 个答案:

答案 0 :(得分:2)

实现这一目标的最佳方法是创建!important CSS规则:

// Lock the `left` style in a fixed state, say "0px"
$('<style id="my-style">#element{left:0 !important;}</style>').appendTo('head');

如果当前元素没有ID,您可以临时指定一个 当元素必须再次“解锁”时,请使用:

$('#my-style').remove();

答案 1 :(得分:0)

可能应该是:

var i = 0;
function changeStyle() {
    $("#element").css("left",i+1);
}

var T = setInterval(changeStyle,500);

停止它:

clearInterval(T);

然后重新开始,只需重复:

var T = setInterval(changeStyle,500);