Подтвердить что ты не робот

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;"?

4b9b3361

Ответ 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");
}