首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >悬停并单击

悬停并单击
EN

Stack Overflow用户
提问于 2018-04-13 15:47:28
回答 2查看 101关注 0票数 0

我有4个这样的div,当我悬停在其中一个链接上时,所有的元素都得到相同的代码。请帮我整理一下密码。

代码语言:javascript
复制
        <div class="Person-team">
            <div class="profile-pic-d">
                <a class="profile-pic-a">
                    <img class="profile-picture" alt="profile picture" src="img/profile.jpg">
                </a>
            </div>
        </div>

我有这样的css

代码语言:javascript
复制
.profile-picture {
height: 200px;
width: 200px;
border-radius: 100px;
}

.profile-picture.hover {
padding: 10px;
border: 6px solid #ffdd00;
}

.profile-picture.click {
padding: 10px;
border: 6px solid #ffdd00;
}

这里的js:

代码语言:javascript
复制
$(".profile-pic-a").hover(
    function() {
        $(".profile-picture").toggleClass('hover');
    }
);

$(".profile-pic-a").click(
    function() {
        $(".profile-picture").toggleClass('click');
    }
);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-13 15:49:23

尝试限制匹配的集合:

代码语言:javascript
复制
$(".profile-pic-a").hover(
    function() {
        $(this).find(".profile-picture").toggleClass('hover');
    }
);

$(".profile-pic-a").click(
    function() {
        $(this).find(".profile-picture").toggleClass('click');
    }
);

代码$(this).find(".profile-picture").toggleClass('click');只在悬停/单击元素的子元素.profile-picture上切换该类。

代码语言:javascript
复制
$(".profile-pic-a").hover(
  function() {
    $(this).find(".profile-picture").toggleClass('hover');
  }
);

$(".profile-pic-a").click(
  function() {
    $(this).find(".profile-picture").toggleClass('click');
  }
);
代码语言:javascript
复制
.profile-picture {
  height: 200px;
  width: 200px;
  border-radius: 100px;
}

.profile-picture.hover {
  padding: 10px;
  border: 6px solid #ffdd00;
}

.profile-picture.click {
  padding: 10px;
  border: 6px solid #ffdd00;
  background: red; /* added for demo */
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Person-team">
  <div class="profile-pic-d">
    <a class="profile-pic-a">
      <img class="profile-picture" alt="profile picture" src="img/profile.jpg">
    </a>
  </div>
</div>
<br><br><br><br>
<div class="Person-team">
  <div class="profile-pic-d">
    <a class="profile-pic-a">
      <img class="profile-picture" alt="profile picture" src="img/profile.jpg">
    </a>
  </div>
</div>

值得一提的是,正如@AndrewBone在注释中所指出的,您可以使用:hover CSS伪类来代替该代码:

代码语言:javascript
复制
// the hover behavior can be replaced by `:hover` CSS pseudo-class

$(".profile-pic-a").click(
  function() {
    $(this).find(".profile-picture").toggleClass('click');
  }
);
代码语言:javascript
复制
.profile-picture {
  height: 200px;
  width: 200px;
  border-radius: 100px;
}

.profile-picture:hover { /* using :hover now */
  padding: 10px;
  border: 6px solid #ffdd00;
}

.profile-picture.click {
  padding: 10px;
  border: 6px solid #ffdd00;
  background: red; /* added for demo */
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Person-team">
  <div class="profile-pic-d">
    <a class="profile-pic-a">
      <img class="profile-picture" alt="profile picture" src="img/profile.jpg">
    </a>
  </div>
</div>
<br><br><br><br>
<div class="Person-team">
  <div class="profile-pic-d">
    <a class="profile-pic-a">
      <img class="profile-picture" alt="profile picture" src="img/profile.jpg">
    </a>
  </div>
</div>

票数 1
EN

Stack Overflow用户

发布于 2018-04-13 16:12:08

如果您希望对每个属性产生不同的影响,请使用ID而不是类,并且ID是唯一的,因此这些属性将仅应用于单个属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49820815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档