javascript - 如何对 18 个不同的类使用相同的 JQuery 函数?

标签 javascript jquery onclick effects jquery-effects

代码:

    <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
});

JSFiddle

关于javascript - 如何对 18 个不同的类使用相同的 JQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644663/

相关文章:

javascript - 在 OpenLayers 3 中动态添加和删除轨道中的片段

javascript - clearInterval 不会停止 setInterval

javascript - 预览/摘要页面

jquery - 我可以将 jQuery 事件存储在变量中吗?

javascript - jquery 滑动参数

asp.net - 禁用单击按钮时加载页面

javascript - 错误: Can't set headers after they are sent for HTTP node server

javascript - ionic 隐藏导航栏而不是按钮

javascript - 我认为提交按钮上的 URL 重新路由发生得太快

javascript - jQuery/JavaScript 将按钮的值添加到总 onClick 中