2012-10-19 31 views
1

我正在運行Drupal,並啓用了「聚合和壓縮CSS文件」以及「聚合JavaScript文件」。我正在使用下面的jQuery將一個類添加到其中一個元素,這完美地工作。在IE7和IE8中添加類到聚合和壓縮的CSS問題

但是,當啓用「聚集和壓縮CSS文件」時,IE7和IE8中不會出現所需的結果。它在Firefox,Safari和Chrome中運行良好。

Drupal動態生成壓縮的CSS並將其放置在一個新目錄中。

這裏是我的jQuery:

(function ($, Drupal, window, document, undefined) { 


    $(document).ready(function(){ 
     // ADD CLASS TO MAIN MENU ITEM WHEN CHILD UL IS HOVERED // 
     $("#menu-218-1 ul").hover( 
      function(){ $("li#menu-218-1 a.sf-depth-1").addClass('submenu_hover') }, 
      function(){ $("li#menu-218-1 a.sf-depth-1").removeClass('submenu_hover') } 
     ) 
     $("#menu-539-1 ul").hover( 
      function(){ $("li#menu-539-1 a.sf-depth-1").addClass('submenu_hover') }, 
      function(){ $("li#menu-539-1 a.sf-depth-1").removeClass('submenu_hover') } 
     ) 
     $("#menu-540-1 ul").hover( 
      function(){ $("li#menu-540-1 a.sf-depth-1").addClass('submenu_hover') }, 
      function(){ $("li#menu-540-1 a.sf-depth-1").removeClass('submenu_hover') } 
     ) 
     $("#menu-545-1 ul").hover( 
      function(){ $("li#menu-545-1 a.sf-depth-1").addClass('submenu_hover') }, 
      function(){ $("li#menu-545-1 a.sf-depth-1").removeClass('submenu_hover') } 
     ) 
     $("#menu-546-1 ul").hover( 
      function(){ $("li#menu-546-1 a.sf-depth-1").addClass('submenu_hover') }, 
      function(){ $("li#menu-546-1 a.sf-depth-1").removeClass('submenu_hover') } 
     ) 
     $("#menu-547-1 ul ").hover( 
      function(){ $("li#menu-547-1 a.sf-depth-1").addClass('submenu_hover') }, 
      function(){ $("li#menu-547-1 a.sf-depth-1").removeClass('submenu_hover') } 
     ) 

    }); 


})(jQuery, Drupal, this, this.document); 

這裏是我的CSS:

.submenu_hover { 
    background: #888888 url(../images/arrow.png) no-repeat 97px 0px; 
    border-left: #888888 solid 9999px; 
    margin-left: -9999px; 
} 

.lt-ie8 .submenu_hover { 
    background: #888888 url(../images/arrow.png) no-repeat 97px 0px; 
    border-left: #888888 solid 9999px; 
    margin-left: -960px; 
} 
+0

你可以給他們一個類並使用$(this)/ this來大大減少你的代碼複製 –

回答

0

嘗試驗證都聚集和非聚集CSS。在顯示的行之上可能會出現語法錯誤,導致它們被跳過。

即使它看起來與CSS相關,在每個.hover()調用之後嘗試添加分號。缺乏可能會絆倒JS壓縮機。在技​​術上,在JS中它們是可選的,但是如果壓縮JS將行合併成一個,那麼分號可能是必需的。

什麼喋喋不休說 - 但添加一個類可能需要PHP或使用菜單屬性模塊。