2013-07-26 6 views
0

Я создаю основное выпадающее меню, используя jQuery 1.10. Он не работает на IE8. Как я могу это исправить?jQuery с выпадающим меню для Internet Explorer

jsFiddle

JQuery

$(document).ready(function(){ 
    $(".urun").hover(function(){ 
     $("ul").slideDown(250); 
     $("ul").mouseleave(function(){ 
      $("ul").slideUp(200); 
     }); 
    }); 
}); 

HTML

<img src="http://blog.moovweb.com/wp-content/uploads/2013/04/stackoverflow-logo.png" alt="" class="urun"/> 
<ul> 
    <li><a href="#">123</a></li> 
    <li><a href="#">321</a></li> 
    <li><a href="#">213</a></li> 
    <li><a href="#">312</a></li> 
    <li><a href="#">331</a></li> 
</ul> 
+1

какая у вас версия IE? –

+0

Моя версия IE 8 – fthmad9

ответ

0

попробовать этот

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head > 
    <title></title> 
    <style type="text/css"> 
     .urun 
     { 
      width: 200px; 
     } 
     ul 
     { 
      list-style: none; 
      display: none; 
     } 
     ul li 
     { 
      padding: 5px; 
      width: 150px; 
     } 
     ul li:hover 
     { 
      background: #777; 
     } 
    </style> 
    <script src="Scripts/jquery-1.10.1.min.js" type="text/javascript"></script> 
</head> 
<body> 
    <img src="http://blog.moovweb.com/wp-content/uploads/2013/04/stackoverflow-logo.png" 
     alt="" class="urun" /> 
    <ul> 
     <li><a href="#">123</a></li> 
     <li><a href="#">321</a></li> 
     <li><a href="#">213</a></li> 
     <li><a href="#">312</a></li> 
     <li><a href="#">331</a></li> 
    </ul> 
    <script type="text/javascript"> 

     $(document).ready(function() { 
      $(".urun").hover(function() { 
       $("ul").slideDown(250); 
       $("ul").mouseleave(function() { 
        $("ul").slideUp(200); 
       }); 
      }); 
     });</script> 
</body> 
</html> 
+0

не работает – fthmad9

0

По какой-то неизвестной причине фрагменты jsfiddle, похоже, не работают должным образом на ie8 при использовании jQuery 1.10. Я добавил ваш пример в jsbin: http://jsbin.com/eyexov/5 - он отлично работает.

Hover может обрабатывать две функции таким образом:

$(element).hover(function() { 
    // your "mouseenter" event 
}, function() { 
    // your "mouseleave" event 
}); 

Вы просто использовали в в неправильном направлении. Проверьте страницу hover's documentation для получения дополнительной информации.

+0

Я знаю это, но я хочу, не работает – fthmad9

+1

Это не работает на jsfiddle, но он вообще работает. Проверьте этот пример: http://jsbin.com/eyexov/2 – biphobe

+0

Вы пытаетесь, сначала наведите изображение после более чем ul. Знайте, как я сказал – fthmad9

0

Ваш код работает нормально, измените только версию jquery, которую вы имеете в FIDDLE, например, 1.9.1.

Использование .hover функции является то же, что

$(selector).mouseenter(handlerIn).mouseleave(handlerOut); 

поэтому у вас есть сочетание двух, вы должны изменить функцию парить на это:

$(".urun").hover(
function() { 
    $("ul").slideDown(250); 
}, 

function() { 
    $("ul").slideUp(200); 
}); 

EDIT:

Я думаю, что это проблема с использованием jQuery версии 1.10.1, если вы используете 1.10.0 работает отлично ..

+0

Если fthmad9 хочет использовать 1.10 конкретно, предложение изменить версию библиотеки мало помогает. – biphobe

+0

@firian Вы читаете полный ответ или только первую строку? – Sbml

Смежные вопросы