0

下面的基本结构,有一个 ajax 脚本替换 div 内部内容并更新菜单,推送历史状态,淡入/淡出内容等。

内部内容包含一个基础网格行,wordpress 编辑器的内容位于该容器内。

现在问题来了……当使用任何需要 javascript 触发器、全宽跨度、滑块、动画的 Visual composer 函数时,当我的 ajax 函数触发内容替换时,什么都不会再次加载。

这是我在 ajax 获取内容后加载的代码的一部分。

// Update the content
$content.stop(true,true);
//$("[data-vc-grid-settings]").vcGrid();
$('#content').foundation();
$content.html(contentHtml).ajaxify().css('opacity',100).show(); /* you could fade in here if you'd like */

// Update the title
document.title = $data.find('.document-title:first').text();

我认为.vcGrid()是正确的初始化,但得到了未定义的控制台错误。我在哪里可以找到与重新初始化可视化作曲家元素相关的文档?

<html>
<header>
Meta Content
</header>
<div off-canvus>
   <menu></menu>
   <div content>
      <div inner-content>

      </div>
   </div>
   <footer>
   </footer>
   <scripts>
</html>
4

2 回答 2

3

在加载可视化作曲家网格添加一些自定义 javascript 逻辑,如下所示:

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

有关详细信息,请查看此问题 =>此处

于 2018-01-22T10:10:08.873 回答
1

在挖掘了可视化作曲家的 javascript 后找到了我需要的数据,为窗口添加了一个调整大小的动作,它触发了可视化作曲家的网格正常工作。

$content.stop(true,true);
window.vc_js();
window.resize();
$('#content').foundation();
$content.html(contentHtml).ajaxify().css('opacity',100).show(); /* you could fade in here if you'd like */

// Update the title
document.title = $data.find('.document-title:first').text();
try {
    document.getElementsByTagName('title')[0].innerHTML = document.title.replace('<','&lt;').replace('>','&gt;').replace(' & ',' &amp; ');
}
catch ( Exception ) { }
于 2017-01-18T19:33:52.767 回答