我正在使用jquery.load(url +'#grabMe');将使用可视化编辑器生成的帖子内容加载到页面上的div中。
但是,一旦将帖子加载到正确的块中,则由于js已从内容加载中剥离出来,帖子滑块,视频,砖石结构,常见问题滑块都无法使用...基本上,我要问的是,重新触发可视作曲者页面设置js代码的方法?
我的JS代码如下
var $mainContent = $("#supportResultSet"),
url = '';
$('a.ajaxMe').on("click", function(e) {
e.preventDefault();
location.hash = this.pathname;
$('a.ajaxMe').removeClass('activeMod');
$(this).addClass('activeMod');
});
$(window).bind('hashchange', function(){
url = window.location.hash.substring(1);
if (!url) {
return;
}
url = url + " #grabMe";
$mainContent.animate({opacity: "0.4"}).html('Loading...').load(url, function() {
page_setup();
addAjaxSupportTaxonomyLoad();
$mainContent.animate({opacity: "1"});
$('html,body').animate({
scrollTop: $mainContent.offset().top
}, 1000);
});
});
$(window).trigger('hashchange');
任何帮助将不胜感激
答案 0 :(得分:0)
好吧,它有点笨拙,但是我找到了解决方案。
Visual Composer使用一个名为vcv的javascript对象
您可以通过调用触发vcv准备就绪
vcv.trigger('ready');
但是...当我通过$ .load(url +“ #grabMe”)加载帖子内容时,我们也没有加载相关/必需的JS / CSS文件来从VC设置内容
为了解决这个问题,我加载了整个帖子,并删除了页眉,页脚和侧边栏 附加内容(带有必需的js / css),然后调用vcv.trigger('ready');
请参见下面的JS
jQuery(document).ready(function($) {
addAjaxSupportResultSetLoad();
addAjaxSupportTaxonomyLoad();
});
function addAjaxSupportResultSetLoad(){
var $mainContent = $("#supportResultSet"),
url = '';
$('a.ajaxMe').on("click", function(e) {
e.preventDefault();
location.hash = this.pathname;
$('a.ajaxMe').removeClass('activeMod');
$(this).addClass('activeMod');
});
$(window).bind('hashchange', function(){
url = window.location.hash.substring(1);
if (!url) {
return;
}
url = url + " #grabMe";
$mainContent.animate({opacity: "0.4"}).html('Loading...').load(url, function() {
page_setup();
addAjaxSupportTaxonomyLoad();
$mainContent.animate({opacity: "1"});
$('html,body').animate({
scrollTop: $mainContent.offset().top
}, 1000);
});
});
$(window).trigger('hashchange');
}
function addAjaxSupportTaxonomyLoad(){
if($('.loadTaxonomy').length > 0 ){
$('.loadTaxonomy').click(function(e){
e.preventDefault();
termID = $(this).attr('data-ref-id');
$('#termToggleBlock_'+termID).slideToggle();
});
}
if($('.loadPost').length > 0 ){
$('#taxonomyBlock').scrollbar();
$('.loadPost').click(function(e){
e.preventDefault();
termID = $(this).attr('data-ref-term-id');
postID = $(this).attr('data-ref-post-id');
loadedTaxonomy = $('#taxonomyBlock').attr('data-ref-loaded-taxonomy');
if(loadedTaxonomy !== termID){
var $taxonomyBlock = $("#taxonomyBlock"),
url2 = $(this).attr('data-href-term');
if (!url2) {
return;
}
url2 = url2+ "?stripMe=1" + " #bodyBlock";
$taxonomyBlock.animate({opacity: "0.4"}).html('Loading...');
$.get(url2, function(data) {
theResult = $("<div/>").append( $('head', data).remove().end() ).html();
theResult = $("<div/>").append( $('header', theResult).remove().end() ).html();
theResult = $("<div/>").append( $('footer', theResult).remove().end() ).html();
theResult = $("<div/>").append( $('#pageTitle', theResult).remove().end() ).html();
$taxonomyBlock.html(theResult);
$('#taxonomyBlock').attr('data-ref-loaded-taxonomy', termID);
page_setup();
vcv.trigger('ready');
$taxonomyBlock.animate({opacity: "1"});
});
$('html,body').animate({
scrollTop: $taxonomyBlock.offset().top
}, 1000);
}else{
var $termBlock = $("#taxonomyPost_"+postID);
$('html,body').animate({
scrollTop: $termBlock.offset().top
}, 1000);
}
});
$('.loadPost:first').trigger('click');
}
}