css toggleClass无法正常工作

时间:2013-11-13 14:27:50

标签: jquery html css transition

大家好日子,

我想在单击其中一个图像后立即切换类。点击后,我想向名为div的{​​{1}}添加一个类,以便为其提供一点过渡效果。所以这是我的问题。首先单击,确定。第二次点击,课程expand不会响起。这是我的一些文件。

非常感谢任何帮助。感谢。

的index.html

expand

some.js

<div class="box1">
  <div class="content">
    <img src="img/some.png" />
  </div>
</div>

some.css

$(function () {
  $("img").on("click", function() {
    var box = $(this).first().parents().eq(1).attr("class");
    $("."+box).toggleClass("expand");
  });
});

1 个答案:

答案 0 :(得分:4)

您的代码不能用于连续点击,因为您正在获取整个class属性,然后查找名为$('.box1 expand')的元素,该元素不存在。相反,在元素本身上使用toggleClass,而不是构建类选择器:

$("img").on("click", function() {
    $(this).first().parents().eq(1).toggleClass("expand");
});

或者,您可以使用closest()

稍微清理代码
$("img").on("click", function() {
    $(this).closest('box1').toggleClass("expand");
});