javascript - 在 JQuery 中再次单击时如何将框高度恢复到原始状态?

标签 javascript jquery html css

代码:

<script type="text/javascript">
    $(document).ready(function () {

        $('.box').on('click', function (e) {
            e.preventDefault();
            var $btn = $(this);
            $btn.toggleClass('opened');

            var heights = $btn.hasClass('opened') ? 300 : 100;
            $(this).stop().animate({ height: heights }, 800);
            //$(".sync_store_info_input_holder").toggle();
        });
    });
</script>

CSS:

.box {
    background-color: #000000;
    height: 73px;
    width: 269px;
    margin: 40px 42px 0px 0px;
    cursor: pointer;
    text-align: center;
    line-height: 73px;
}

上面的函数工作正常,但是每当单击打开并单击关闭框时,框的高度都会比初始状态稍高一些。这不是 CSS 问题,但脚本中的高度 100 似乎没有切换。如何才能使盒子关闭时高度恢复到原始状态?

问题:

即使单击关闭框后,函数 100 中的高度似乎仍然保留。我怎样才能做到当盒子关闭时盒子的原始高度恢复。盒子的高度在.box类中,为275px。

最佳答案

也许不是最好的解决方案,但取决于 div 高度,这有效:

jQuery/JavaScript:

var heights = $btn.hasClass('opened') ? 300 : 200;

CSS:

.box {
  height: 200px;
  width: 200px;
  background-color: orange;
}

jsFiddle

关于javascript - 在 JQuery 中再次单击时如何将框高度恢复到原始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662741/

相关文章:

javascript - 执行页面脚本,该脚本是在页面中的其他 JavaScript 之前从内容脚本插入到页面中的

javascript - 使用 jquery tablesorter 排序日期/时间不正确

javascript - 子对象未定义

jQuery 可排序语法错误 : missing name after . 运算符

javascript - 在设备上测试时未定义 Cordova 插件

javascript - Firebase .then 和 .on ('value' )

javascript - ReactJS:仅更新嵌套状态对象中的特定字段

javascript - Bootstrap 工具提示看起来很简单

javascript - 使用 Zoomooz 放大特定的 div

javascript - 如何访问 Angular 4 服务中的 DOM 元素?