我有两个if语句:
$(document).ready(function() {
setInterval(function() {
var titleClass = $('.title').hasClass('title-left');
if (titleClass = true) {
$('.title').removeClass('title-left');
$('.title').addClass('title-move');
}
var titleMove = $('.title').hasClass('title-move');
if (titleMove = true) {
$('.title').removeClass('title-move');
$('.title').addClass('title-left');
}
},1000);
});
但是这些类不会添加或删除。我应该使用不同的条件吗? 提前谢谢。
答案 0 :(得分:3)
if (titleClass = true) {
您不是要比较值,而是分配值。这是你应该做的:
if (titleClass == true) {
修改强>
同样if (titleMove == true) {}
中的代码将始终在(titleClass == true)
时执行,因为类title-move
是由代码添加的。{1}}。因此,如果它具有类title-left
,则会更改为title-move
,之后它将更改回title-left
,看起来似乎什么也没发生。
我认为这可能是你想要的:
<script>
$(document).ready(function() {
setInterval(function() {
var titleClass = $('.title').hasClass('title-left');
if (titleClass == true) {
$('.title').removeClass('title-left');
$('.title').addClass('title-move');
} else {
var titleMove = $('.title').hasClass('title-move');
if (titleMove == true) {
$('.title').removeClass('title-move');
$('.title').addClass('title-left');
}
}
},1000);
});
</script>
答案 1 :(得分:2)
正如已经指出的那样,您应与==
运算符进行比较,而不是=
分配。
作为进一步改进,您可以使用toggleClass
方法来减少代码量:
setInterval(function () {
$('.title').toggleClass('title-left title-move');
}, 1000);