Javascript js-如果为true,则执行操作。如果为false,则撤消操作
每当$home有类“active”时,我尝试将类“pulse”添加到$choose,然后在home没有类“active”时删除pulse,这两个类都可以执行多次。我的函数似乎执行了一次,然后就再也不检查了:Javascript js-如果为true,则执行操作。如果为false,则撤消操作,javascript,jquery,Javascript,Jquery,每当$home有类“active”时,我尝试将类“pulse”添加到$choose,然后在home没有类“active”时删除pulse,这两个类都可以执行多次。我的函数似乎执行了一次,然后就再也不检查了: $(function () { var $home = $(".tabs-group li:last-child a"); var $choose = $(".tabs-group li"); if($(home).hasClass("active")) {
$(function () {
var $home = $(".tabs-group li:last-child a");
var $choose = $(".tabs-group li");
if($(home).hasClass("active")) {
$choose.addClass("pulse");
};
if(!($home).hasClass("active")) {
$choose.removeClass("pulse");
};
});
我还尝试将其分为两个功能,但这两个功能也不起作用
$(function () {
var $home = $(".tabs-group li:last-child a");
var $choose = $(".tabs-group .sidebar .menu li");
if(($home).hasClass("active")) {
$choose.addClass("pulse");
};
});
$(function () {
var $home = $(".tabs-group li:last-child a");
var $choose = $(".tabs-group .sidebar .menu li");
if(!($home).hasClass("active")) {
$choose.removeClass("pulse");
};
});
你需要倾听元素的变化
$(function () {
var $home = $(".tabs-group li:last-child a");
var $choose = $(".tabs-group li");
if($(home).hasClass("active")) {
$choose.addClass("pulse");
};
if(!($home).hasClass("active")) {
$choose.removeClass("pulse");
};
$(document).on('change', ".tabs-group li:last-child a", function(event){
var $choose = $(".tabs-group li");
if $(event.target).hasClass('active') {
$choose.addClass('pulse');
} else {
$choose.removeClass('pulse');
}
});
});
这是toggleClass的经典用例。请看 请注意,我们使用原始事件(本例中的单击)切换“活动”类,然后基于该设置切换“脉冲”类。如果你试图在“活动”类发生变化时“神奇地”改变“脉冲”类,事情就会变得更难——这里没有一个简单的解决方案。两种选择:
您可能希望考虑命名空间以避免与其他库发生冲突:
您的代码自然只会执行一次。看来你想把这件事办成大事。$home的课程什么时候改?什么时候是活动的?是的,$home在活动时具有活动的类(function ($) {
var jqueryMap, onClickHome;
jqueryMap = {
$home : $('.tabs-group li:last-child a'),
$choose : $('.tabs-group li')
};
onClickHome = function ( event ) {
event.preventDefault();
jqueryMap.$home.toggleClass( 'active' );
jqueryMap.$choose.toggleClass(
'pulse', jqueryMap.$home.hasClass( 'active' )
);
}
jqueryMap.$home.on( 'click', onClickHome );
}(jQuery));