我已经创建了一些代码来隐藏我的菜单,菜单并不完整,但我试图使用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();
}
});这是在this site上的结果
如何阻止.slideUp()创建style="overflow: hidden;"?
发布于 2013-02-01 21:17:24
您必须删除slideUp()函数回调上的overflow:hidden,以便可以尝试
$("#nav").slideUp('fast', function(){ $('#nav').css('overflow','visible') });或者你可以通过css来强制它
#nav{overflow:visible!important}发布于 2014-01-30 19:01:47
这是旧版jquery中的bug。此代码替换标准函数"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);发布于 2013-02-01 20:56:52
覆盖该样式-
$("#nav").slideUp();
$("#nav").css({'overflow':'visible'});https://stackoverflow.com/questions/14646669
复制相似问题