Problemi con javascript

Francesco Giannetta

Nuovo Utente
10 Gen 2014
3
0
0
Salve a tutti, sto creando un sito con wordpress attraverso la tecnica dei child theme. Il tema padre è nexus di Elegant Theme.

Praticamente ho aggiunto una barra di menu in alto alla testata, ho creato un file up-menu.js nel quale ho copiato il codice javascript del menu principale sostituendo le variabili adattandole a quelle del nuovo menu.

In fase di navigazione del sito, tutto funziona correttamente, solo che mi crea problemi nel lato amministrazione di wordpress, riportando il seguente errore facendo il debug di javascript:
13:06:17.823 TypeError: $et_up_menu.superfish is not a function up-menu.js:10

Il codice presente nel file up-menu.js è il seguente:
Codice:
(function($){
	$(document).ready( function(){
		var $et_up_menu              = $( 'ul.up-nav' );

		$et_up_menu.superfish({
			delay		: 500, 										// one second delay on mouseout
			animation	: { opacity : 'show', height : 'show' },	// fade-in and slide-down animation
			speed		: 'fast', 									// faster animation speed
			autoArrows	: true, 									// disable generation of arrow mark-up
			dropShadows	: false										// disable drop shadows
		});

		et_duplicate_menu( $('#up-header ul.up-nav'), $('#up-bar .mobile_nav'), 'mobile_menu', 'et_mobile_up_menu' );

		function et_duplicate_menu( menu, append_to, menu_id, menu_class ){
			var $cloned_nav;

			menu.clone().attr('id',menu_id).removeClass().attr('class',menu_class).appendTo( append_to );
			$cloned_nav = append_to.find('> ul');
			$cloned_nav.find('.menu_slide').remove();
			$cloned_nav.find('li:first').addClass('et_first_mobile_item');

			append_to.click( function(){
				if ( $(this).hasClass('closed') ){
					$(this).removeClass( 'closed' ).addClass( 'opened' );
					$cloned_nav.slideDown( 500 );
				} else {
					$(this).removeClass( 'opened' ).addClass( 'closed' );
					$cloned_nav.slideUp( 500 );
				}
				return false;
			} );

			append_to.find('a').click( function(event){
				event.stopPropagation();
			} );
		}
	});
	})(jQuery)

Potete aiutarmi?
 
Il debugger ti dice che per lui superfish() non fa parte di $et_up_menu.
A volte succede che l'utilizzo di metodi di jquery in oggetti referenziati non funzioni, prova a fare direttamente così qui:
Codice:
$( 'ul.up-nav' ).superfish({

Se il debugger ti dà ancora lo stesso errore l'unica è che non è stato caricato il plugin superfish.
 
Il debugger ti dice che per lui superfish() non fa parte di $et_up_menu.
A volte succede che l'utilizzo di metodi di jquery in oggetti referenziati non funzioni, prova a fare direttamente così qui:
Codice:
$( 'ul.up-nav' ).superfish({

Se il debugger ti dà ancora lo stesso errore l'unica è che non è stato caricato il plugin superfish.


Ciao, grazie per aver risposto. Ho fatto come mi hai consigliato, ma il problema rimane: TypeError: $(...).superfish is not a function

Prima, comunque, ho dimenticato di dire che in normale navigazione il codice funziona egregiamente, il problema è che up-menu.js viene caricato anche nel lato amministrazione del sito "nomesito.it/wp-admin", andando in conflitto con un pò di cose, che in pratica sono:
Quando scrivo un post e vado su "testo" per controllare il codice del contenuto, il menu con le opzioni di gestione testo diventa vuoto.
Wp-SEO di Yoast non compare, NextGen non visualizza la lista delle gallerie, KNews non permette di creare newsletter, ecc....
 
Allora la soluzione sarebbe quella di evitare proprio l'inclusione di questo script nel wp-admin.
Sfortunatamente non sono molto pratico con wordpress e non ho idea dell'esistenza di permessi o valori di controllo per evitare il caricamento del tuo script nell'area amministrativa.

Frugo un pò per il web appena ho del tempo e ti farò sapere.
 
Allora la soluzione sarebbe quella di evitare proprio l'inclusione di questo script nel wp-admin.
Sfortunatamente non sono molto pratico con wordpress e non ho idea dell'esistenza di permessi o valori di controllo per evitare il caricamento del tuo script nell'area amministrativa.

Frugo un pò per il web appena ho del tempo e ti farò sapere.

Grazie, questa cosa mi sta facendo venir pazzo...
 

Discussioni simili