【问题标题】:wordpress jquery .load(url + ' #grabMe') with visual composerwordpress jquery .load(url + '#grabMe') 与视觉作曲家
【发布时间】:2018-11-15 06:04:03
【问题描述】:

我正在使用 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');

任何帮助将不胜感激

【问题讨论】:

    标签: jquery wordpress visual-composer


    【解决方案1】:

    好吧,它有点老套,但我找到了解决方案。

    可视化作曲家使用名为 vcv 的 javascript 对象

    您可以通过调用触发 vcv 准备就绪

    vcv.trigger('准备好');

    但是...当我通过 $.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');
        }
        
        
            
    }
     

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      相关资源
      最近更新 更多