Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181

    [jQuery] Chiamare funzioni in sequenza

    Salve, ho questo problema:

    codice:
    jQuery('#mondo > map > #tooltip > area').live('mouseover', function() {
    		jQuery(".regID").html(" - "+jQuery(this).attr('alt'));	
    		jQuery(this).tooltip({showURL: false,positionLeft: true });	
    	});
    
    oppure
    
    jQuery('#mondo > map > #tooltip > area').live('mouseover', function() {
    		jQuery(".regID").html(" - "+jQuery(this).attr('alt'));	
    		}, function(){ $(this).tooltip({showURL: false,positionLeft: true });	
    	});
    In pratica voglio eseguire due funzioni quando si verifica l'evento hover su un'area di una mappa.

    Il primo evento è quello di far comparire del testo in un div regid al passaggio del mouse, il secondo è quello di chiamare il plugin tooltip che mi mostra l'attributo title in maniera grafica piu raffinata.

    Il problema è che nel primo caso di codice le funzioni vengono chiamate in modo esclusivo a volte va una a volte l'altra.

    Nel secondo caso invece viene chiamata solo la prima funzione. Come posso fare per visualizzare entrambe le funzioni?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    posta il link del plugin tooltip

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da Vindav
    posta il link del plugin tooltip
    http://bassistance.de/jquery-plugins...lugin-tooltip/

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    jQuery('#mondo > map > #tooltip > area')
    .live('mouseover', function() {
         jQuery(".regID").html(" - "+jQuery(this).attr('alt'));	
    })
    .tooltip({showURL: false,positionLeft: true });

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da Vindav
    codice:
    jQuery('#mondo > map > #tooltip > area')
    .live('mouseover', function() {
         jQuery(".regID").html(" - "+jQuery(this).attr('alt'));	
    })
    .tooltip({showURL: false,positionLeft: true });



    Non va mi fa comparire il tooltip ma non mi fa comparire la scritta nel div ovvero come se non facesse questa...
    jQuery(".regID").html(" - "+jQuery(this).attr('alt'));

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    il codice funziona correttamente ci sarà qualche altro errore nella tua pagina

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da Vindav
    il codice funziona correttamente ci sarà qualche altro errore nella tua pagina
    Se ti mando il file puoi verificare?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    no, posta qui il link se puoi, altrimenti posta la parte html interessata e verifica che non ci siano errori nella console js

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da Vindav
    no, posta qui il link se puoi, altrimenti posta la parte html interessata e verifica che non ci siano errori nella console js
    Ciao Vindav, guardando i risultati live, vedo che nei tag <area... vengono svuotati tutti gli attributi title e alt quando faccio seguire il tooltip al pezzo di codice che preleva l'attributo alt.

    quindi sembra che ci sia un conflitto con il plugin tooltip come può essere che mi svuota questi campi?

    Senza il tooltip ciò non avviene. mmm

    codice:
     
    //Immagine di loading prima del caricamento box ricerca
    jQuery(window).load(function() {
     		jQuery('#loading-image').hide();
    		jQuery('#mappina').show();//inserito quando l'immagine è in un secondo tab nascosto
    		jQuery('#mappina').fadeIn(300);
    
    
    //con IE funzione Importante!!!
    //prima deve essere caricato il maplight
    	$(function(){
    	$('.map').maphilight({fade: false});
    	});
    
    	//profilo personale
    	jQuery('#container-2').tabs();
    
    	//successivamente il resto
    	jQuery(function() {
    		jQuery( "#tabs" ).tabs();
    	});
    
    	
    
    
    //**********Inizio Gestione mappa*********************//
    
    var $bigMap=jQuery('#mondo');
    
    //click su tab
    jQuery('div#tabs > ul > li > a').click(function(){
    	jQuery('.reg').hide(0, function() {
    	jQuery('div#searchPath > span#regID').replaceWith('<span id="regID" class="regID"></span>');
    	jQuery('span#provID').replaceWith('<span id="provID" class="provID"></span>');
    	$bigMap.fadeIn(500);
    	});
    }); 
    
    //parte che riguarda il mouseover sulle varie mappe per far comparire il nome della regione automaticamente sul search path.			
    
    jQuery('#mondo > map > #tooltip > area').live('mouseover', function() {
    	//alert(jQuery(this).attr('alt')); //se sta cosi non stampa nulla
    	jQuery(".regID").html(" - "+jQuery(this).attr('alt'));
    	}).tooltip({showURL: false,positionLeft: true });
    
    /*jQuery('#mondo > map > #tooltip > area').live('mouseover', function() {
    		jQuery(".regID").html(" - "+jQuery(this).attr('alt'));	
    		//jQuery(this).tooltip({showURL: false,positionLeft: true });	
    	}, function($){ jQuery(this).tooltip({showURL: false,positionLeft: true });	
    });*/
    
    	jQuery('#mondo > map >#tooltip > area').live('mouseout', function() {
    		jQuery(".regID").html("");
    	});
    	
    	jQuery('#continenti > map > #tooltip >area').live('mouseover', function() {
    		jQuery(".provID").html(" - "+jQuery(this).attr('alt'));
    	});
    	jQuery('#continenti > map > #tooltip >area').live('mouseout', function() {
    		jQuery(".provID").html("");
    	});
    	
    	jQuery("#icon_map img").hover(function(){
    	jQuery(this).stop().animate({opacity: 0, marginTop: -7}, 500);//sale e scomapre
     	}, function(){jQuery(this).stop().animate({opacity: 1.0, marginTop: 0}, 400);//scende e ricompare
     	});
    
    });
    
    function mostraRicerca(nazione)
    {
    	$.post("select.php", {nazione:nazione.title}, function(data){var $naz=data;
    	window.open('ricerca.php?nazione='+$naz+'&rform=Cerca', '_self'); 
    	});			
    	
    }
    //*********Esplodi mappa continente*********************			
    function riempiCampoForm(valore)
    {
    	var $bigMap=jQuery('#mondo'); 
    		$bigMap.hide(0, function(){
    		jQuery('.reg').fadeIn(500);
    	});						
    }
    Parte Html

    codice:
    <div id="mondo">
    	[img]images/mappa_mondo_ritagliato.png[/img]
    <map name="world">
    		<div id="tooltip">
    	<area shape="poly" title="Antarctica" alt="Antarctica" onClick="mostraRicerca(this);" coords="778,386, 783,386, 783,386, 800,388, 800,400, 667,400, 534,400, 400,400, 267,400, 134,400, 0,400, 0,388, 91,390, " />
    
    <area>
    .
    .
    .
    <area>
      </div>
           </div>
        </map>
    </div>

    Ho provato pure a usare la pagina demo del plugin- mi sono scaricato la pagina e dove sta la mappa ho inserito il codice jquery che mi hai scritto- anche lì succede che il tooltip funziona ma vengono eliminati gli attributi alt se visualizzo la pagina da firebug, mentre se apro il codice sorgente della pagina gli attributi ci sono...
    in ogni caso non vengono scritti nel div

    codice:
    <div id="searchPath" class="SEARCHpATH" >
    Mondo
    <span id="regID" class="regID"></span><span id="provID" class="provID"></span>
    </div>
    che ho inserito subito sopra la mappa.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    succede solo con explorer? cmq usa un altro attributo al posto di alt. rel per esempio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.