Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19

    Modifica offset della tendina dell'ultimo pulsante di un menu

    Salve a tutti,
    Non sono molto esperto in javascript (e nel mio caso credo si parli anche un pò di javascript più avanzato), sto realizzando un menu a tendina con Chrome CSS Drop Down Menu (http://www.dynamicdrive.com/dynamici...rome/index.htm ) , siccome il sottomenu è piu largo del bottone padre, e nel complesso il menu occupa il 100% della larghezza del sito, arrivato all'ultimo bottone la tendina sfora i margini del sito. Guardando lo script ho visto che il problema è stato risolto solo quando la tendina sfora i margini della finestra del browser. Come faccio a dirgli che deve spostarsi anche quando sfora i margini del sito? ovvero (penso) una determinata larghezza.
    Questo è il codice che credo riguardi questa opzione:
    codice:
    clearbrowseredge:function(obj, whichedge){
    
    	var edgeoffset=0
    
    	if (whichedge=="rightedge"){
    
    		var windowedge=document.all && !window.opera? this.standardbody.scrollLeft+this.standardbody.clientWidth-15 : window.pageXOffset+window.innerWidth-15
    
    		this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
    
    		if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)  //move menu to the left?
    
    			edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
    
    	}
    
    	else{
    
    		var topedge=document.all && !window.opera? this.standardbody.scrollTop : window.pageYOffset
    
    		var windowedge=document.all && !window.opera? this.standardbody.scrollTop+this.standardbody.clientHeight-15 : window.pageYOffset+window.innerHeight-18
    
    		this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
    
    		if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up?
    
    			edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
    
    			if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either?
    
    				edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
    
    		}
    
    	}
    
    	return edgeoffset
    
    }
    mentre il file completo si trova qui: http://www.dynamicdrive.com/dynamici...mejs/chrome.js

    Qualcuno può aiutarmi?
    Spero di essere stato meno confusionale possibile .

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19
    niente?

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    prova così m anon garantisco

    codice:
    clearbrowseredge:function(obj, whichedge){
        var mySize=800; //px della tua larghezza massima. impostalo a false per considerare il body
    	
        var edgeoffset=0
    
    	if (whichedge=="rightedge"){
    
    		var windowedge=
                mySize || 
                document.all && !window.opera? this.standardbody.scrollLeft+this.standardbody.clientWidth-15 : window.pageXOffset+window.innerWidth-15
    
    		this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
    
    		if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)  //move menu to the left?
    
    			edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
    
    	}
    
    	else{
    
    		var topedge=document.all && !window.opera? this.standardbody.scrollTop : window.pageYOffset
    
    		var windowedge=
                mySize ||
                document.all && !window.opera? this.standardbody.scrollTop+this.standardbody.clientHeight-15 : window.pageYOffset+window.innerHeight-18
    
    		this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
    
    		if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up?
    
    			edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
    
    			if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either?
    
    				edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
    
    		}
    
    	}
    
    	return edgeoffset
    
    }
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19
    Ciao, innanzitutto grazie per l'interesse
    Purtroppo la modifica non funziona, ho impostato la larghezza nella var che hai aggiunto ma purtroppo non va, in ogni caso sto vedendo anche io più o meno come ragiona lo script (sono abb. inesperto di js). Credo che l'errore sia nell'if , in quanto la variabile mySize è stata messa nella condizione ma il corpo dell'if da quello che ho capito non cambia quindi ragiona sempre con gli stessi parametri.

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    purtroppo il link allo script del js non funziona, servirebbe vedere tutto il codice...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19
    Ciao, questo il link http://www.dynamicdrive.com/dynamici...mejs/chrome.js a me funziona.

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    codice:
    Forbidden
    
    You don't have permission to access /dynamicindex1/chrome/chromejs/chrome.js on this server.
    
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19
    Misteri della fede,
    http://www.orditatrama.com/chrome.js ora dovresti riuscire a vederlo .

  9. #9
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    ciao gli ho dato un occhiata, e purtroppo è un casino modificare tutto lo script in quanto tutti i riferimenti sono dati al body della pagina, richiamando direttamente proprietà uniche del boidy della pagina. per fare quello che vuoi tu bisognerebbe stravolgere lo script

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19
    Ok grazie lo stesso

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 © 2024 vBulletin Solutions, Inc. All rights reserved.