2013-05-16 47 views
0

這是我的jsfiddle的鏈接。我在懸停效果上有一個下拉導航欄。當我運行項目時,這種效果只能運行一次。之後,它不能工作,直到我再次運行它。 它是否需要對「框架和擴展」選項執行任何操作?我讀了一些關於它的文章here,但沒有清楚地理解它們之間的區別。 這是我的js代碼jsfiddle只工作一次

function mainmenu(){ 
$("#bav .inner ul ul").css({display: "none"}); // Opera Fix 
$("#bav .inner ul li").hover(function(){ 
    $(this).find('ul:first').css({visibility: "visible",display:"none"}).slideDown(400, 'backout'); 
    },function(){ 
    $(this).find('ul:first').css({visibility: "hidden"}); 
    }); 
} 
$(document).ready(function() { 
         mainmenu(); 
     }); 

我選擇的onLoad 「選項」。 任何人都可以告訴我爲什麼運行代碼後只能看到一次效果?

+0

它似乎在我的瀏覽器(Google Chrome 26.0)中正常工作。 – gkalpak

+0

什麼是'**退出**'?刪除,它工作正常 - http://jsfiddle.net/UyqFc/16/ – lifetimes

回答

0

不知道你爲什麼要使用回退在slideDown()但這是打破了代碼..

$(this).find('ul:first').css({visibility: "visible",display: "none"}).slideDown(400); //<---removed backout here 

working fiddle

0

不要改變visibilitydisplay。只需使用hide()show()即可。而你的slideDown參數是無效的。請參閱http://jsfiddle.net/UyqFc/19/

$("#bav .inner ul ul").hide(); // Opera Fix 
$("#bav .inner ul li").hover(function() { 
    $(this).find('ul:first').slideDown(); 
}, function() { 
    $(this).find('ul:first').hide(); 
});