2017-06-08 29 views
0

我目前在wordpress主題中實現barba.js。除了VisualComposer網格之外,我已經設法使大部分javascript函數在頁面更改後正常工作。在ajax調用後重新加載視覺作曲網格

閱讀this線程我已成功地使Visual作曲家基本功能通過window.vc_js();

除了電網工作,如果我添加window.resize();我得到一個window.resize is not a function錯誤。

在相當多的網頁我也得到與window.vc_js()同樣的錯誤 - window.vc_js is not a function

我怎樣才能initalize的vc_grid? 當Visual composer實際處於活動狀態時,爲什麼會出現這些錯誤?

任何幫助表示讚賞

回答

0

TL;博士

把您的自定義JavaScript代碼在這裏:

$(window).bind('grid:items:added', function(){ 
    // add some logic here 
}); 

如果您需要視覺作曲家電網已經加載後,然後一些邏輯這樣做(我正在粘貼我的代碼從一些網站):

// catch VISUAL COMPOSER AFTER GRID ITEMS ARE LOADED .. hook and update date strings,, ONCE! 
$(window).bind('grid:items:added', function(){ 
    if (! $('body').attr('masonicaDone') == "1"){ 
     $('.enddate, .startdate').each(function(ix, el){ 
      var tmm = sDate(TIME($(el).text().trim()), lang) + ' ∙ ' + sTime(TIME($(el).text().trim()), lang ); 
      $(el).text(tmm); 
     }); 
     $('body').attr('masonicaDone', 1); 
    } 
}); 

主要的是要bind'grid:items:added'事件,運行後阿賈克斯數據已回落電線,,在我的例子,我在格式化日期到本地格式(而不是原生的PHP的日期格式,WP)

另外,非常重要的是添加一些標誌(我正在考慮身體),不要多做一次(我最終會將日期字符串格式化爲兩次並且有錯誤),但只有第一次(在after AJAX)。請注意,同樣的事件是點擊過濾器按鈕(組合類別大多數時間),誰知道也許一些過渡也被激發..

相關問題