jQuery toggle CSS?
Я хочу переключаться между CSS так, когда пользователь нажимает на кнопку (#user_button
) он показывает меню (#user_options
) и изменяет CSS, и когда пользователь нажимает его снова, он возвращается к нормальному состоянию. Пока это все, что у меня есть:
$('#user_button').click( function() {
$('#user_options').toggle();
$("#user_button").css({
borderBottomLeftRadius: '0px',
borderBottomRightRadius: '0px'
});
return false;
});
может кто-нибудь помочь?
4 ответа:
$('#user_button').toggle(function () { $("#user_button").css({borderBottomLeftRadius: "0px"}); }, function () { $("#user_button").css({borderBottomLeftRadius: "5px"}); });
использование классов в этом случае было бы лучше, чем установка css напрямую, хотя, посмотрите на методы addClass и removeClass, упомянутые alecwh.
$('#user_button').toggle(function () { $("#user_button").addClass("active"); }, function () { $("#user_button").removeClass("active"); });
Я бы использовал toggleClass функция в jQuery и определить CSS для класса, например
/* start of css */ #user_button.active { border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; /* user-agent specific */ -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; /* etc... */ } /* start of js */ $('#user_button').click(function() { $('#user_options').toggle(); $(this).toggleClass('active'); return false; })
возможно, вы захотите использовать jQuery .добавление и .removeClass команды, и создать два разных класса для государства. Для меня это было бы лучшим практическим способом сделать это.