作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
代码:
<script>
$(document).ready(function() {
$('.boxes').on('click', function(e){
e.preventDefault();
var $btn = $(this);
$btn.toggleClass('opened');
var heights = $btn.hasClass('opened') ? 300 : 100 ;
$('.boxes').stop().animate({height: heights });
});
});
</script>
我有 18 个具有 boxes
类的盒子。正如您可以想象的那样,通过单击 .boxes,所有 18 个盒子都会打开和关闭。我想要做的是确保只有被单击的框打开和关闭,而不是所有框。这 18 个盒子具有唯一的 ID,如 box1、box2、box3 等。
我是 JS 新手,所以对我来说,一个合理的解决方案是重复上述代码 18 次,并使用盒子唯一的 id,但我知道这样的代码重复太多了。那么,如何确保只有被单击的框才会打开和关闭,而不是所有框呢?任何提示都会有所帮助。谢谢!
最佳答案
编辑:现在就尝试一下。
$(".boxes").on('click', function(e) {
e.preventDefault();
$(this).toggleClass('opened');
var heights = $(this).hasClass('opened') ? 300 : 100 ;
$(this).stop().animate({height: heights}); //Show clicked box
});
关于javascript - 如何对 18 个不同的类使用相同的 JQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644663/
我是一名优秀的程序员,十分优秀!