【问题标题】:change right and left icon "switch"改变左右图标“开关”
【发布时间】:2015-07-09 12:41:10
【问题描述】:

点击右边的图标再点击左边的时候需要

为此,我写了一个样式 css "shareleft" & "shareright"

我使用jQuery代码来改变图标样式

   $(".share").click(function () {
    $(".share > ul").slideToggle();
    $(".share").toggleClass("shareleft shareright");
   })

但页面上的许多图标

点击其中一个,所有图标切换

但我只想更改图标 "click on"

【问题讨论】:

    标签: jquery css


    【解决方案1】:

    jQuery click 处理程序实际上为您提供了确切的元素(请参阅http://api.jquery.com/on/http://api.jquery.com/click/)。您可以使用e.targetthis 来获取点击的元素:

    $(".share").click(function (e) {
        var $el = $(this); // Could also use $(e.target);
        $el.children("ul").slideToggle();
        $el.toggleClass("shareleft shareright");
    })
    

    【讨论】:

      【解决方案2】:

      这是因为函数中的选择器正在收集 .share 元素的子 uls 的所有元素以及 .share 类的所有元素。

      在你的函数中你有:

      $(".share > ul").slideToggle();
      $(".share").toggleClass("shareleft shareright");
      

      $(".share > ul") 正在选择所有 uls,它们是 .share 元素的子元素,$(".share") 正在选择所有应用了 .share 类的元素。

      使用关键字this 来引用被点击的元素。

      $(".share").click(function(e) {
          var $this - $(this);
          $this.children("ul").slideToggle();
          $this.toggleClass("shareleft shareright");
      });
      

      如果你想知道为什么在变量名的开头有一个$,那是因为 jQuery 是由 $ 表示的,并且按照惯例将 $ 放在变量名的开头告诉我们这个变量是一个 jQuery 对象。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-12
        • 1970-01-01
        • 1970-01-01
        • 2020-12-28
        • 2014-12-14
        • 1970-01-01
        • 2016-12-18
        相关资源
        最近更新 更多