2014-05-15 117 views
0

有沒有辦法讓refreshClass()關閉的菜單在刷新頁面後自動關閉?jQuery - toggleClass()需要刷新時關閉

調用toggleClass()的按鈕工作正常。會話還會記住菜單是否隱藏,因此刷新時會執行關閉動畫。有沒有簡單的方法讓菜單在刷新時隱藏,而不是執行動畫?

爲了進一步澄清,這裏是一個quick video I took of the issue

initialize: function() 
    { 
     if(sessionStorage.getItem('sidebar.open') == 'false') 
     { 
      this.toggle(); 
     } 
    }, 

    toggle: function() 
    { 
     var self = this; 

     $(this.sidebarEl).toggleClass('active'); 

     _.each(this.contentEl, function(el) 
     { 
      $(el).toggleClass('active'); 
     }); 

     sessionStorage.setItem('sidebar.open', 
           $(this.sidebarEl).hasClass('active')); 
    }, 

回答

0

我假設的過渡是一個CSS過渡,對不對?這就是爲什麼你只是改變班級...

想想也許取消轉換,然後重新添加它。

CSS

.notransition { /*class to cancel transition*/ 
    -webkit-transition: none !important; 
    -moz-transition: none !important; 
    -o-transition: none !important; 
    -ms-transition: none !important; 
    transition: none !important; 
} 

HTML

<div class="menu nontransition">...</div> <!-- when the page is loaded, use nontransition... --> 

JS

initialize: function() 
{ 
    if(sessionStorage.getItem('sidebar.open') == 'false') 
    { 
     this.toggle(); 
    } 
    $(this.sidebarEl).removeClass("nontransition") // Then, delete nontransition, and allow the transition to work 
},