Inizializzazione di Visual Composer su caricamento di contenuto Ajax

Struttura di base di seguito, avere uno script Ajax che sostituisce il contenuto interno div e aggiorna il menu, spinge gli stati della cronologia, i contenuti di dissolvenza in entrata e in uscita ecc ..

Il contenuto interno contiene una riga della griglia di base e il contenuto dell’editor di wordpress risiede in quel contenitore.

Ora ecco il problema … quando si utilizza una funzione di compositore visuale che richiede trigger javascript, span a tutta larghezza, slider, animazioni, niente viene caricato di nuovo quando la mia funzione ajax triggers una sostituzione del contenuto.

Ecco parte del mio codice che viene caricato dopo che ajax ha ottenuto il contenuto.

// 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(); 

Pensavo che .vcGrid() fosse l’init giusto, ma ho ottenuto l’errore della console non definito. Dove posso trovare i documenti relativi alla reinizializzazione degli elementi del visual visualer?

  
Meta Content

Trovato i dati di cui avevo bisogno dopo aver scavato nel javascript del visual compositore, ho aggiunto un’azione di ridimensionamento per la finestra che triggers la griglia del compositore visivo per funzionare correttamente.

 $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('<','<').replace('>','>').replace(' & ',' & '); } catch ( Exception ) { } 

per aggiungere qualche logica javascript personalizzata dopo aver caricato la griglia del compositore visivo, fai come segue:

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

per i dettagli guarda questa domanda => qui