Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Originariamente inviato da cavicchiandrea
    Credo di si ma, ma non sono più tanto sicuro, ho ricaricato la pagina e ora la vedo come su safari ho qualche dubbio sul nominare gli ID cosi fps_xonotic.php col punto
    Il problema è che quegli id sono generati automaticamente da:

    Codice PHP:
    <?php function voce($testo$link) { // inizio funzione PHP che permette di rendere le voci nei menu
    return '<tr>
    <td class="Menu_1" background="layout/bg_menu_scritte.gif" height="21">
    [url="'
    $link .'"]'$testo .'[/url]</td>
    <td class="Menu_1" background="layout/bg_menu_scritte.gif" height="21">
    [img]layout/freccia_menu.gif[/img]</td>
    </tr>'
    ; } /* fine funzione PHP che permette di rendere le voci nei menu */ ?>
    E dare l'id uguale a $testo lo avrei voluto evitare, in quanto ci sono di mezzo nomi ripetuti e spazi: sì, volendo me la potrei giostrare, i nomi ripetuti in qualche modo li differenzio, e per gli spazi invece di mettere id="'. $testo .'" metto id="'. f($testo) .'", dove f è un'opportuna funzione php che mi sostituisce per esempio gli spazi con degli underscore. Però comunque provo, e ti dico...

    EDIT: provato, ora è così. Ma purtroppo non è cambiato nulla.

  2. #12
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    l'ordine e' LoVeHAte: link visited hover active
    come dice Andrea potrebbe esservi un problema con l'id con il punto
    che e' un carattere valido, almeno nell' attributo id, ma... meglio non rischiare

  3. #13
    Originariamente inviato da Xinod
    l'ordine e' LoVeHAte: link visited hover active
    come dice Andrea potrebbe esservi un problema con l'id con il punto
    che e' un carattere valido, almeno nell' attributo id, ma... meglio non rischiare
    Ok, ho scambiato l'ordine degli ultimi due attributi nel CSS, e tolto l'id con il punto assegnando $testo (quindi "Xonotic") invece di $link (cioè "fps_xonotic.php"). Ma ancora non è cambiato nulla.

  4. #14
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma comunque, in entrambi i casi, perche' cerchi di modificare il className prima di settarlo?
    document.getElementById("fps_xonotic.php").classNa me = ""; <- questo e' inutile
    document.getElementById("fps_xonotic.php").classNa me = "set1";

    cosi' come quel replace nell' altro esempio di script

  5. #15
    Originariamente inviato da Xinod
    ma comunque, in entrambi i casi, perche' cerchi di modificare il className prima di settarlo?
    document.getElementById("fps_xonotic.php").classNa me = ""; <- questo e' inutile
    document.getElementById("fps_xonotic.php").classNa me = "set1";

    cosi' come quel replace nell' altro esempio di script
    In rete l'ho trovata come soluzione per cancellare il valore precedente della classe; da quanto era scritto, si faceva intendere che non sarebbe stato cancellato automaticamente dalla nuova riassegnazione. Se non è così, posso anche levare quella riga...

    EDIT: ancora nessun effetto a quanto sembra...

  6. #16
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    si' si', sovrascrive completamente

  7. #17
    Originariamente inviato da Xinod
    si' si', sovrascrive completamente
    Ok, allora la posso togliere tranquillamente. Però, come ho scritto nell'edit del post precedente, ancora non è cambiato niente...

  8. #18
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sposta l' intero blocco <script> dove e' lecito trovarsi: o in un td o fuori dalla <table>

  9. #19
    Originariamente inviato da Xinod
    sposta l' intero blocco <script> dove e' lecito trovarsi: o in un td o fuori dalla <table>
    Ok, messo in un td, ma nessun effetto.

    EDIT: ho controllato la validazione W3C e dare ad id uno qualunque tra $titolo e $link dà un sacco di errori di forma, perché, sebbene il punto sia un carattere valido e non dia alcun errore, lo danno altri caratteri come gli spazi, gli slash, i punti interrogativi, i cancelletti, che comparirebbero inevitabilmente assegnando l'id in quel modo tramite la funzione PHP.
    A questo punto, prima di procedere con tutto il resto, mi conviene fare un overload della funzione stessa, e definirne una con lo stesso nome, dipendente però da tre argomenti anziché due, il terzo dei quali è proprio l'id; così, laddove lo voglia assegnare, potrò farlo, senza dover necessariamente andare a modificare tutte le occorrenze in cui uso quella funzione. Anche se vedo qui che non è così immediato, PHP non ammette l'overload diretto, e bisogna girarci un po' intorno per ottenere il risultato desiderato.
    Per ora ho tirato via tutto: ho tolto l'attributo id da quella funzione PHP, messo sotto commento HTML il codice JS, lasciando attive soltanto le dichiarazioni relative alla classe set1 nel CSS, che però attualmente risulta non utilizzata.
    Grazie per l'aiuto, intanto.

  10. #20
    Bene, ho evitato l'overload della funzione php definendone una con un nome simile ma distinto e cambiando le occorrenze necessarie (e solo quelle, senza il bisogno di modificarne altre per avere il giusto numero di argomenti), così ora ho degli id W3C compliant, e ho girato un po' intorno al problema rimuovendo all'elemento l'attributo classe e definendone degli altri che permettessero di causare il comportamento desiderato senza passare dall'attribuzione di una nuova classe:

    Codice PHP:
    <?php function voceconid($testo$link$id) { // altra funzione PHP per le voci nei menu che necessitano di id
    return '<tr>
    <td class="Menu_1" background="layout/bg_menu_scritte.gif" height="21">
    [url="'
    $link .'"]'$testo .'[/url]</td>
    <td class="Menu_1" background="layout/bg_menu_scritte.gif" height="21">
    [img]layout/freccia_menu.gif[/img]</td>
    </tr>'
    ; } /* fine funzione PHP per le voci nei menu che necessitano di id */ ?>
    codice:
    <script type="text/javascript"> 
    document.getElementById("xonotic").removeAttribute("class");
    document.getElementById("xonotic").setAttribute("style", "color:rgb(175,175,255)");
    document.getElementById("xonotic").setAttribute("onmouseover", "this.style.color=\'rgb(127,127,255)\'");
    document.getElementById("xonotic").setAttribute("onmouseout", "this.style.color=\'rgb(175,175,255)\'");
    </script>
    Il problema è che su FF e su Chrome funziona, su IE 8 no. Suggerimenti?

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