• User Newbie

    Calcolare coordinate dinamicamente: per tooltip

    Ciao a tutti,

    Vi pongo una questione: voglio utilizzare http://www.walterzorn.com/tooltip/tooltip_e.htm. In particolare, mi interessa la proprietà FIX, che permette al tooltip di posizionarsi in un punto preciso della pagina.

    Per capire meglio ciò di cui parlo, scorrete la pagina che ho linkato e troverete l'esempio della proprietà FIX.

    Il problema è che mi sono accorto che il punto della pagina indicato dai valori X e Y cambia a seconda della risoluzione dello schermo utilizzata (o anche se si rimpicciolisce la finestra del browser).

    Io, invece, vorrei che la posizione indicata da X e Y fosse per tutte le risoluzioni la stessa, in modo da fissare il tooltip nello stesso punto per tutti gli schermi.

    Ecco cosa dicono le istruzioni sul sito[INDENT]FIX shows the tooltip at the fixed coordinates [x, y]. Value: Square-bracketed array of two integers. Example:
    onmouseover="Tip('Some text', FIX, [230, 874])"
    You can also call function(s) defined elsewhere that calculate the coordinates dynamically:
    onmouseover="Tip('Text', FIX, [CalcFixX(), CalcFixY()], BORDERWIDTH, 2)"
    or
    onmouseover="Tip('Text', FIX, CalcFixXY(), ABOVE, true)"
    In the latter example, the function CalcFixXY() must return an array containing the two numbers.
    [/INDENT]Quindi, a quanto pare, è possibile calcolare dinamicamente la posizione tramite una funzione. Ora: come diamine si fa, questa funzione? Io non ne capisco nulla, purtroppo.

    Se avrete tempo e voglia di aiutarmi, ve ne sarò grato.

    Ciao,
    Giovanni


  • Super User

    Ciao 🙂

    Benvenuto nel forum.

    E' normale che le coordinate cambino da schermo a schermo.
    Perché in uno schermo largo il doppio di un altro, anche il centro avrà verosimilmente coordinata doppia dell'altra.
    Quindi indicando coordinate fisse la posizione risulterà differente.

    Costruire una funzione che calcoli tutto per bene risulta complesso, perchè ogni browser presenta caratteristiche specifiche che lo portano a restituire valori differenti.
    Tale funzione andrebbe quindi creata con calma e testata per bene.
    Io userei qualcosa di testato per avere la certezza che funzioni con tutto.
    Perchè non dai un'occhiata a questa pagina e provi ad utilizzare l'esempio fixed presente:
    http://www.nickstakenburg.com/projects/prototip/
    Mi sembra anche lo script stesso migliore e più affidabile.

    :ciauz:


  • User Newbie

    Grazie mille Claudio,

    Proverò senz'altro!