JQuery добавление style = "overflow: hidden;"
Я создал немного кода, чтобы скрыть свое меню, меню не завершено, но я пытаюсь использовать функцию 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;"
?
Ответы
Ответ 1
Вы должны удалить overflow:hidden
при обратном вызове функции slideUp()
поэтому вы можете попробовать
$("#nav").slideUp('fast', function(){ $('#nav').css('overflow','visible') });
Или вы можете заставить его css
#nav{overflow:visible!important}
Ответ 2
Это bug в более раннем 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);
Ответ 3
Отменить этот стиль -
$("#nav").slideUp();
$("#nav").css({'overflow':'visible'});
Ответ 4
Отмените стиль по умолчанию, изменив атрибут style html.
else {
$("#nav").slideUp();
$("#nav").attr("style","overflow:visible");
}
Ответ 5
Попробуйте это...
else {
$("#nav").slideUp();
$("#nav").css("overflow","visible");
}