2014-02-15 72 views
0

對於我的其中一個項目,我們有一個專有的CMS,它通過首先在客戶端實例目錄中查找文件來工作,如果找不到,它默認爲公用目錄。所以在公共目錄中,我有shell.js,其中包含一個函數,用於設置bootstrap 2.3.2中摺疊div的初始狀態。我需要能夠在客戶端級別禁用此功能,同時仍然具有常用級別的功能。我很js/jQuery的綠色,有人可以幫助我嗎?jquery禁用某個功能

的代碼在shell.js這是... ...

/*******************************/ 
/* TOGGLE BUTTON 
/*******************************/ 
var toggleBlock = function() { 
    var windowsize = $(window).width(), 
     isDesktop = windowsize > 765; 

    $("#quicksearch").toggleClass("collapse in", isDesktop); 
    $("#quicksearch").toggleClass("collapse out", !isDesktop); 
    $("#sidebar").toggleClass("collapse in", isDesktop); 
    $("#sidebar").toggleClass("collapse out", !isDesktop); 
} 
$(document).ready(toggleBlock); 
$(window).on("resize.showContent", toggleBlock); 
toggleBlock(); 

將.unbind()是正確的方向嗎?

回答

1

一個漂亮的粗液:

var disabledFlag = false; 

    var toggleBlock = function() { 
    if(!disabledFlag){ 
     var windowsize = $(window).width(), 
     isDesktop = windowsize > 765; 

     $("#quicksearch").toggleClass("collapse in", isDesktop); 
     $("#quicksearch").toggleClass("collapse out", !isDesktop); 
     $("#sidebar").toggleClass("collapse in", isDesktop); 
     $("#sidebar").toggleClass("collapse out", !isDesktop); 
    } 
} 

然後在你的代碼翻轉標誌設置爲true,將執行該有意義的代碼停止功能在別處:

disabledFlag = true; 
+0

我改變了代碼我的shell.js然後添加在index.html的頭部分,它不工作...我做錯了什麼?通過將var disableFlag設置爲true,我需要摺疊默認狀態? –

+0

您是否在'shell.js'之後添加了該塊?它需要來之前。 –

+0

是的,我確實把它放在shell.js –