2013-07-26 84 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

由於某些未知原因,當您使用jQuery 1.10時,jsfiddle的片段在ie8上似乎無法正常工作。我已經在jsbin上添加了你的例子:http://jsbin.com/eyexov/5 - 它在那裏工作得很好。

哈弗可以以這種方式處理兩個功能:

$(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

你的代碼工作正常,只改變你在FIDDLE中的jQuery的版本,例如1.9.1。

使用.hover功能是一樣的那

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

讓你擁有二者的混合,你應該將功能懸停改成這樣:

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

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

編輯:

我認爲這是一個問題,使用jQuery版本1.10.1,如果你使用1.10.0工作正常..

+0

如果fthmad9想要使用1.10,建議更改庫的版本沒有多大幫助。 – biphobe

+0

@firian您閱讀完整的答案或只閱讀第一行? – Sbml