2013-01-10 60 views
1

,不要重複我的大小調整網頁的所有代碼,我嘗試這樣做:jQuery的文檔。就緒和.resize在WordPress的

$(document).ready(myfunction); 
$(window).resize(myfunction); 

function myfunction() { 
    // do whatever 
} 

我有一些問題。我有一些事情需要在頁面加載時(總是相同的)和需要在調整大小時進行的一些事情發生。我的頁面設置,如:

jQuery(document).ready(function($) { 

    //a bunch of static stuff here 

    $wall.imagesLoaded(function(){ 
     //using an imagesloaded plugin 
     //masonry is here & needs to reload on resize. 
    }); 

}); 

我讀的地方,始終把jQuery的開頭WordPress的,所以我想我也可以,因爲它的工作。我如何擺動其餘的石匠會重新調整窗口大小?

謝謝!

編輯解決方案:這是適用於Wordpress。

(function($) { 

    $(document).ready(documentReadyFunction); 
    $(window).resize(windowResizeFunction); 

    function documentReadyFunction() { 
     // functions for document ready 
     onPageLoadOrResize(); 
     onPageLoad(); 
    } 

    function windowResizeFunction() { 
     // functions for window resize 
     onPageLoadOrResize(); 
    } 

    function onPageLoad() { 
     alert("pageload"); 
    } 


    function onPageLoadOrResize() { 
     alert ("Load or Resize"); 
    } 

    })(jQuery); 
+0

爲什麼不使用'isResizable'選項? http://masonry.desandro.com/docs/options.html#isresizable – undefined

+0

好吧,沒有一個例子(頁面中沒有?),我不知道如何使用它。我只是改變贏取調整大小的列數。另外,我需要了解答案。 :) –

回答

3

嘗試使用這樣的模式:

$(document).ready(documentReadyFunction); 
$(window).resize(windowResizeFunction); 

function documentReadyFunction() { 
    genericStuffFunction() 
    // do whatever for document ready 
} 

function windowResizeFunction() { 
    genericStuffFunction() 
    // do whatever for window resize 
} 

function genericStuffFunction() { 
    // do whatever for document ready and window resize 
} 
+0

我在控制檯中得到一個錯誤「Uncaught TypeError:屬性'$'的對象[對象窗口]不是一個函數行2(窗口調整大小部分)。是因爲它在Wordpress?我需要無衝突模式或什麼? –

0

或者,你可以有你的myFunction接受ev(事件)參數,然後檢查ev.type屬性,看看它是否是resize和運行相應的代碼如下:

$(document).ready(myfunction); 
$(window).resize(myfunction); 

function myfunction(ev, ui) { 
    if (ev.type && ev.type == 'resize') { 
     alert('resize'); 
    } 

    // do main stuff here... 
} 

jsFiddle example