Visualizzazione dei risultati da 1 a 8 su 8

Discussione: posizionamento X Popup

  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407

    posizionamento X Popup

    salve a tutti,

    io ho una funzione js che posiziona una tendina pop-up in un certo puunto x-y della pagina che gli indico io manualmente.

    Fino a qui tutto funziona ora però non ho calcolato il fattore risolzuioni video.
    Fattore dove a 800x600 la x deve avere un certo valore mentre a 1600x1200 ovviamente un altro.

    la funzione è questa:
    codice:
    function popUp1(menuName,e){
    	if (!areCreated) return;
    
    	hideAll();
    
    	currentMenu = eval(menuName);
    	
    	//xPos = (NS4) ? e.pageX : event.x;
    	xPos = 100
    	//yPos = (NS4) ? e.pageY : event.y;
    	yPos = 160
    	
    	currentMenu.moveTo(xPos,yPos);
    
    	currentMenu.keepInWindow()
    	currentMenu.isOn = true;
    	currentMenu.showIt(true);
    }
    ora le premesse sono queste:

    - la y è fissa dato che a qualunque risoluzione non varierà.
    - devo poter calcolare la x della tendina sapendo che:

    1) io ho una tabella di 800px di larchezza, al suo interno ne ho un'altra di 770 e che ho un margine laterale sia a destra che a sinistra di 15px quindi

    2) io conosco la larghezza dell'immagine su cui passa il mouse per aprire la tyendina pop-up e delle varie immagini affinaco alla prima
    dove per capirci sae la prima img è larga 100

    la seconda dovrà aprire la sua tendina a (xxx-15-100) dove xxx è il numero di pixel partendo da sinistra del video in cui inizia la mia tabella di 800px e, 15 lo spazio e 100 la larghezza della prima immagine... e così via per tutte le altre immagini.

    ma questo è il minore dei mali perchè una volta calcolato il posizionamento della prima tendina le altre vanno di conseguenza.
    inoltre si considerì che per comodità io faccio x funzioni pop-up quanti i menù da aprire.... in modo da poter passare il poszionamento in maniera standard...

    grazie

  2. #2
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    nessun suggerimento...?

    io ci ho riflettuto su... e ho pensatoi che una soluzione potrebbe essere quella di usare il comando js che mi determini la larghezza width della risoluzione video dell'utente...

    io potrei prendere quel valore e dividerlo per 2 ottenendo a logica il centro del monitor...

    a questo punto se la tabella di 800 si trova al centro perfetto se tolgo 385px dalla metà ottengo che la tendina1 si apre nella posizione da me desiderata e le sucessive si apriranno di conseguenza a 385px+la larghezza dell'immagine che le precede...

    può essere fattibile e se si dove la migliorereste?

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ci sono un paio di approcci che si utilizzano in questi casi
    il primo e' quello che hai intenzione di usare,
    l' altro consiste non ricavare la posizione di un oggetto nel normale flusso html (in genere un' immagine trasparente) e far dipendere da questo la posizione del livello

    personalmente preferisco quest ultimo, se procedi lungo la strada che hai presentato prima tieni a mente che non e' la risoluzione che ti interessa, ma la larghezza della finestra
    ciao

  4. #4
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da Xinod
    ci sono un paio di approcci che si utilizzano in questi casi
    il primo e' quello che hai intenzione di usare,
    l' altro consiste non ricavare la posizione di un oggetto nel normale flusso html (in genere un' immagine trasparente) e far dipendere da questo la posizione del livello

    personalmente preferisco quest ultimo, se procedi lungo la strada che hai presentato prima tieni a mente che non e' la risoluzione che ti interessa, ma la larghezza della finestra
    ciao
    in che senso procedendo come vorrei fare io dovrei preoccupartmi non della risoluzione video ma della finestra..?

  5. #5
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    mi sono riletto il post ma scusa se io faccio come ho detto ossia di determinare con screen.width, credo sia questo il comando la larghezza dello schermo, in breve la risolzuione video adottata dall'utente e poi divido quel valore per 2 ottengo si il centro fisico della finestra ma in qualunque caso lo ottengo sia se la finestra è a tutto scermo sia se è aperta in maniera parziale, almeno credo... dopo di che faccio il ragionnamento come detto sopra in modo da ottenere:

    LaghezzaVideo = screen.width
    Centro = larghezzavideo/2
    PosizioneIniziale = Centro-385

    questo perchè che la finestra sia competamente aperta o che lo sia parzialmente la tabella sempre 800px è larga quindi....

    ----------------------------------------------------------------------

    in alternativa se proprio vogliamo essere più pignoli e precisi c'è anche questa altra soluzione:

    LaghezzaVideo = screen.width
    SpazioBianco = LarghezzaVideo-800
    SpazioLatoSX = SpazioBianco/2
    XIniziale = Spaziobianco+15

    analogamente la tendina si apre di nuovo in concomitanza con lo 0 ideale della tabella interna di 770px avente appunto un bordino di 15px su entrambi i lati.

    o sbaglio?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusa ma se ti poni il problema del posizionamento il sito (la tabella che contiene tutto, come nel caso di html.it) non si appoggia a sinistra ma e' centrato, corretto?

    i margini laterali aumentano o diminuiscono a seconda della dimensione della finestra, non dello schermo

    x capirci intendo: non considerare la finestra sicuramente massimizzata

    ciao

  7. #7
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da Xinod
    scusa ma se ti poni il problema del posizionamento il sito (la tabella che contiene tutto, come nel caso di html.it) non si appoggia a sinistra ma e' centrato, corretto?

    i margini laterali aumentano o diminuiscono a seconda della dimensione della finestra, non dello schermo

    x capirci intendo: non considerare la finestra sicuramente massimizzata

    ciao
    e quindi come considero la finestra.... quando una persona accede normalmente ad un sito vi accede con la finestra che occupa tutta l'area dello schermo.... almeno così accade a me...
    Certo poi può capitare che lui abbia chiuso il browser con la finestra ridotta e quindi se apre il browser lo apre con finestra
    ridotta....

    sinceramente non so come comportarmi per gestire sto accidenti di posizionamento.

    E se uso in layer?

    io posso crearmi un layer con le dimensioni di 770px di larghezza e 600 di altezza tanto anche se si espande in lunghezza non importa; in modo da far corrispondere l'angolo in alto a sinistra del layer con il punto in cui si trova la mia prima immagine a questo punto sapendo che le immagini sono alte 20px gli pongo y=20 e la x=0 per la prima tendina e le altre x per le tendine sucessive... può essere?

    raga sorry ma js l'ho sempre digerito poco...

  8. #8
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    up

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.