【问题标题】:Css function doesn't workcss函数不起作用
【发布时间】:2014-08-20 12:32:55
【问题描述】:

我正在编写此代码,第一个 toggle 函数正在运行,但第二个切换不可用。这是为什么呢?

<script type="text/javascript">
    $(document).ready(function(){
        $( ".navicon" ).click(function() {
            $( "#menu" ).slideToggle( "medium", function() {
            // Animation complete.
            });
        });
    });
    $(document).ready(function(){
        $('.navicon').toggle(function () {
            $("body").css({"overflow": "hidden !important"});
            $("#mobile_menu").css({"width": "100% !important"});
        });
    });
</script>

【问题讨论】:

标签: javascript jquery


【解决方案1】:

toggle() 方法已被弃用,您需要使用替代方法,例如描述“切换”状态的标志。

一个松散的例子:

$('.myclass').click(function() {
if ($(this).hasClass('toggle')) {
doThis;
$(this).removeClass('toggle');
} else {
doThis;
$(this).addClass('toggle');
}
});

并用 $(document).ready() 封装你的所有函数,而不是为每个单独的函数做。

【讨论】:

  • 不推荐使用将两个(或更多)函数作为参数的 toggle 重载。动画重载仍然存在。
  • 我想文档对此不是很清楚,我之前一直在努力解决这个问题,并向我建议了这个解决方案。不过很有趣。
猜你喜欢
  • 1970-01-01
  • 2020-07-03
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 2013-02-13
  • 2022-01-06
相关资源
最近更新 更多