javascript - 如何使用 Jquery 使元素出现和消失。

标签 javascript jquery html css dom

我想做这样的事情:

$(document).ready(function(){
    if($('.undermenu').css('display','block')){
        $('#menu').click(function(){
            $('.undermenu').css('display','none');
        });
    }
    else{
        $('#menu').click(function(){
            $('.undermenu').css('display','block');
        });
    }
});

此代码不起作用,但是否有任何 Jquery“效果”或任何我可以用来隐藏/取消隐藏的东西。 例如,有没有办法检查显示是否设置为无或阻止? 谢谢。

最佳答案

只需使用 toggle() :

$('#menu').click(function() {
    $('.undermenu').toggle();
});

虽然你的原因if($('.undermenu').css('display','block'))没用是因为你设置了 display元素的属性到 block ,而不是获取 display属性并对其进行测试,这将是:

if ($('.undermenu').css('display') =='block')

如果你真的想使用 if要测试当前显示,在修改演示文稿之前,您必须在点击处理程序内部执行此操作(否则它只会在 DOMReady 上运行一次,而不是每次都运行):

$('#menu').click(function(){
    if ($('.undermenu').css('display') == 'block') {
        $('.undermenu').hide();
    }
    else {
        $('.undermenu').show();
    }
});

或者,如果您想冒着激怒同事的风险,可以稍微活跃一下:

$('#menu').click(function(){
    var undermenu = $('.undermenu');
    undermenu[undermenu.css('display') == 'block' ? 'hide' : 'show']();
});

引用资料:

关于javascript - 如何使用 Jquery 使元素出现和消失。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069203/

相关文章:

javascript - 图像被推到其包裹的 div 之外

html - 为什么 box-sizing 在 table 和 div 上的作用不同?

javascript - Jquery - 创建动态名称选择器

javascript - 如何在 React-Native 中转换这个对象?

javascript - 从字符串中删除图像元素

JavaScript,我正在发出 ajax 请求,我需要帮助浏览该对象

javascript - 欧拉项目#39 : Is there a more efficient way to solve this problem?

javascript - 用于 secret 入口链接的按键组合

javascript - 使用一个 php 函数返回多个 json 对象

javascript - 滚动到 anchor 时是否可以运行 jQuery 代码?