2012-07-13 65 views
1

對於這個WordPress站點:http://bit.ly/NlBv9I我使用滑動門的圓角和cufon的字體。 當我想添加下拉菜單時,遇到了「diensten」選項卡懸停的問題。當我通過子菜單的底部離開子菜單時,我的主要項目不會回到正常樣式。使用superfish onHide函數,我設法解決了這個問題,但現在當我將主項目懸停到子菜單時,主項目的顏色變爲背景顏色(因此它變得不可見)。我試圖用onBeforeShow函數解決這個問題,並且工作正常,但是這打破了我的第一個解決方案。Superfish + Cufon Hover

你可以在這裏找到HTML:http://bit.ly/NlBv9I

CSS:

ul { 
    list-style:none; 
    margin-bottom: 6px; 
} 

#main-nav li { 
    float: left; 
    margin-right: 2px; 
    display: block; 
} 

#main-nav li a { 
    color:#6f6f6f; 
    font-size: 15px; 
    padding: 4px; 
    display: block; 
    text-decoration: none; 
} 
#main-nav li.sfHover a { 
    color:#fff; 
} 
#main-nav li:hover a, #main-nav li.current_page_item a, #main-nav li.current-menu-item a { 
    color:#fff; 
} 
#main-nav li a:hover, #main-nav li.current_page_item a, #main-nav li.current-menu-item a { 
    background: url(img/leftDoor.png) top left no-repeat; 
} 
#main-nav li:hover, #main-nav li.current_page_item, #main-nav li.current-menu-item { 
    background: url(img/rightDoor.png) top right no-repeat; 
} 
#main-nav ul li.sfHover, #main-nav ul li.sfHover li { 
    background: url(img/rightDoor.png) top right no-repeat; 
} 
#main-nav ul li.sfHover a { 
    background: url(img/leftDoor.png) top left no-repeat; 
} 
#main-nav ul.sub-menu a { 
    color:#fff; 
} 
#main-nav .grey { 
    color:#6f6f6f !important; 
} 
#main-nav .white { 
    color:#fff !important; 
} 

JQuery的:

$('#top .menu').superfish({ 
        hoverClass: 'sfHover', 
       autoArrows: false, 
       delay:0, 
       /*onBeforeShow: function() { $(this).prev().addClass('white'); },*/ 
       onHide: function() { $(this).prev().addClass('grey') } 
      }); 

提前感謝!

回答

1

我想你應該當您使用Cufon font使用

Cufon.refresh(); 

你需要使用Cufon.refresh()你改變任何風格後,說,你已經使用addClass('gray')和類應用gray color的字體,但如果你不在您更改課程後不使用Cufon.refresh(),那麼您將無法看到更改。換句話說,在動態改變使用Cufon font的任何元素的字體樣式後,您必須使用Cufon.refresh();才能生效。