需要Jquery帮助 - 2点击2个功能

时间:2018-06-15 08:59:12

标签: jquery click hamburger-menu

我有一个汉堡包菜单。这就是它的样子:

<input type="checkbox" id="toggle">
    <label for="toggle" class="bigmac">&#x2630;</label>

我在图标上使用了一个符号。我想在点击其他图标,十字架时更改图标。当我再次点击时,关闭菜单,将其改回汉堡包。

我尝试了很多,但不知道如何使用“切换”来做到这一点。

这是我在jquery中将它改为十字架的原因:

$( ".bigmac" ).click(function(){
    $( ".bigmac").html("&#x2715;")
})

但是如何再次点击时让它改变回来?

3 个答案:

答案 0 :(得分:0)

尝试使用css设置样式的样式,并在单击时将活动类添加到按钮。 例如(尚未测试):

$("#btn").click(function(){
    if ($("#btn").hasClass("active")) {
        $("#btn").removeClass("active");
    }
    else {
        $("#btn").addClass("active");
    } 
})

答案 1 :(得分:0)

您可以在cross元素中添加一个类.bigmac,以便您可以相应地设置if-else条件以获得切换效果:

$( ".bigmac" ).click(function(){
   if($(".bigmac").hasClass('cross')){
     $(".bigmac").html("&#x2630;").removeClass('cross');
   } else {
     $(".bigmac").html("&#x2715;").addClass('cross');
   } 
})
.cross{
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="toggle">
<label for="toggle" class="bigmac">&#x2630;</label>

答案 2 :(得分:0)

为什么不使用toggle

&#13;
&#13;
$('.bigmac').toggle(function() {
    $(this).text('&#x2630;');
  },
  function() {
    $(this).text('&#x2715;');
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="toggle">
<label for="toggle" class="bigmac">&#x2630;</label>
&#13;
&#13;
&#13;