jQuery SlideUp() и SlideDown() в IE 11 не работают

Я хочу сделать скользящее меню вверх-вниз для своего справочного сайта. У меня есть этот код:

$(".li_about").click(function(){
    if ($(".ul_about").is(":hidden")) $(".ul_about").slideDown(400);
    else $(".ul_about").slideUp(400);
})

<div id="left-contener">
    <ul id="menu">
        <li class="li_about" style="background-image: url(icons/PNG/color_128/info2.png);"><span>O programie<span> </li>
        <li class="sep_1"></li>
            <ul class="ul_about">
                <li name="about" >Czym jest Creator?</li>
                    <li class="sep"></li>
                <li  name="first">Twój pierwszy obraz</li>
                    <li class="sep"></li>
            </ul>
 etc [...]

#left-contener{
    position:relative;
    z-index: 5;
    width:30%;
    max-width:400px;
    height:calc(100% - 45px);
    background-color: #F8F8F8;
    float:left;
    white-space: nowrap;
    overflow-x: hidden;
    overflow-y:scroll;
    -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
#menu{
    margin-top:10px;
    margin-left:15px;   
}
ul {
list-style:none;
padding:0;
margin:0;
}
li:not(.sep_1):not(.sep){
    height:40px;
    line-height: 40px;
    cursor:pointer;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: 0px 5px;
    text-indent: 40px; 
}
li:not(.sep):not(.sep_1):hover{
    text-indent:50px;
    color:#16C0FF;
}
.ul_tools,.ul_about,.ul_main{
    display: none;
}

Почему SlideDown() и SlideUp() не работают в IE (11)? В других браузерах нормально.

PS. Еще несколько сообщений, потому что Stackoveflow говорит, что мне нужно добавить больше, но я думаю, что достаточно объяснил свою проблему...


person sko    schedule 18.11.2014    source источник
comment
Увы, боюсь, вы недостаточно объяснили свою проблему. Что должно произойти? Что на самом деле происходит в IE11? Какие ошибки появляются в вашей консоли разработчика, если они есть?   -  person Frédéric Hamidi    schedule 18.11.2014
comment
Ваше событие клика вызывается? Кроме того, я бы использовал привязку события .on('click') вместо .click   -  person Felipe Skinner    schedule 18.11.2014
comment
@FelipeSkinner .click() — это сокращение от .on('click')   -  person Brewal    schedule 18.11.2014
comment
@Brewal Я знаю ... Но если элемент .li_about загружается с помощью AJAX или чего-то еще, .click() не свяжет его. Тогда лучше использовать .on() для родительского элемента, а затем использовать его второй аргумент для фильтрации элемента .li_about :)   -  person Felipe Skinner    schedule 18.11.2014
comment
@FelipeSkinner Да, это называется делегированием: Демо. Но click() делать точно так же, как on('click'), как описано в документе.   -  person Brewal    schedule 18.11.2014
comment
@Brewal, ах, я не знал, что это называется делегированием, спасибо! Но я знаю, что без делегирования они работают точно так же :)   -  person Felipe Skinner    schedule 18.11.2014
comment
ОК, проблема ушла. ActiveX блокировал javascript... и не показывал всплывающее окно с Разрешить заблокированное содержимое. ГДж ИЭ!   -  person sko    schedule 19.11.2014
comment
Если вы решили проблему, вы можете сами добавить новый ответ к решению и принять его. Таким образом, когда другие люди с похожей проблемой найдут ваш вопрос, будет очевидный ответ.   -  person Josh KG    schedule 19.11.2014


Ответы (2)


Не могли бы вы просто использовать .slideToggle()? И это может быть глупый вопрос, но правильно ли загружается jQuery?

$(".li_about").click(function(){
    $(".ul_about").slideToggle(400);
});
person deebs    schedule 18.11.2014
comment
В других браузерах работает... Так что наверное грузится. Но мы можем ожидать всего от IE - person Felipe Skinner; 18.11.2014
comment
Это не помогает. jQuery загружается правильно. - person sko; 19.11.2014

У вас опечатка в этой строке:

<li class="li_about" style="background-image: url(icons/PNG/color_128/info2.png);"><span>O programie<span> </li>

Вы не закрываете свой промежуток. Вот фиксированная линия:

<li class="li_about" style="background-image: url(icons/PNG/color_128/info2.png);"><span>O programie</span></li>

IE не так прощает незакрытые теги, как другие браузеры, в этом может быть проблема.

person Josh KG    schedule 18.11.2014
comment
Исправил, ти. Но это ничего не меняет, потому что в другом li у меня нет span. - person sko; 19.11.2014