jQuery adding style="overflow: hidden;"

jQuery adding style="overflow: hidden;"

本文关键字:quot hidden overflow adding jQuery style      更新时间:2023-09-26

我创建了一些代码来隐藏我的菜单,菜单不完整,但我正在尝试使用jQuery.slideUp()函数,但它为代码添加了style="overflow: hidden;",因此当我使用 .show 时,我的一个元素被隐藏了,它是#nav:after#nav:before,它在菜单底部添加一个小箭头

这是JS代码

  $("span#start_button").click(function () {
        if ($("#nav").is(":hidden")) {
            $("#nav").show("fast");
        } else {
            $("#nav").slideUp();
        }
    });

这是这个网站上的结果

如何阻止.slideUp()创建style="overflow: hidden;"

您必须删除 slideUp() 函数回调时的overflow:hidden所以你可以试试

$("#nav").slideUp('fast', function(){ $('#nav').css('overflow','visible') });

或者你可以通过css强制它

#nav{overflow:visible!important}
这是

旧jquery中的错误。此代码替换标准函数"slideDown"并删除溢出属性。

!(function (jQuery, origSlideDown) {
jQuery.fn.slideDown = function (speed, easing, callback) {
    var self = this;
    var args = Array.prototype.slice.call(arguments);
    var origCallback;
    for (var i = 0, len = args.length; i < len; i++) {
        if (jQuery.isFunction(args[i])) {
            origCallback = args[i];
            args[i] = function () {
                origCallback.call(this);
                self.css('overflow', '');
            }
        }
    }
    if (!origCallback) {
        args.push(function () {
            self.css('overflow', '');
        });
    }
    return origSlideDown.apply(this, args);
};
})(jQuery, jQuery.fn.slideDown);

覆盖该样式 -

   $("#nav").slideUp();
   $("#nav").css({'overflow':'visible'});

试试这个...

else {
   $("#nav").slideUp();
   $("#nav").css("overflow","visible");
}

通过修改 html 的样式属性来覆盖默认样式。

else {
       $("#nav").slideUp();
       $("#nav").attr("style","overflow:visible");
    }