Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    testo lampeggiante con più parole

    ciao,
    fino ad oggi ho usato questo script in pagine statiche e mi sono trovato bene, solo che ora dovrei usarlo per una pagina dinamica in php, il problema è che non mi è possibile utilizzare questo script quando ci sono più link uguali nella stessa pagina, ne lampeggia solo uno.

    Es:
    <? echo $titolo_evento?>
    <? echo $titolo_evento?>

    come si può vedere se ci sono più id="flashlink0" nella stessa pagina funziona solo uno.

    Allora dovrei fare:
    <? echo $titolo_evento?>
    <? echo $titolo_evento?>
    ma in una pagina dinamica non mi è possibile.

    <script language="JavaScript1.2" type="text/javascript">
    var flashlinks=new Array()

    function changelinkcolor(){
    for (i=0; i< flashlinks.length; i++){
    var flashtype=document.getElementById? flashlinks[i].getAttribute("flashtype")*1 : flashlinks[i].flashtype*1
    var flashcolor=document.getElementById? flashlinks[i].getAttribute("flashcolor") : flashlinks[i].flashcolor
    if (flashtype==0){
    if (flashlinks[i].style.color!=flashcolor)
    flashlinks[i].style.color=flashcolor
    else
    flashlinks[i].style.color=''
    }
    else if (flashtype==1){
    if (flashlinks[i].style.backgroundColor!=flashcolor)
    flashlinks[i].style.backgroundColor=flashcolor
    else
    flashlinks[i].style.backgroundColor=''
    }
    }
    }

    function init(){
    var i=0
    if (document.all){
    while (eval("document.all.flashlink"+i)!=null){
    flashlinks[i]= eval("document.all.flashlink"+i)
    i++
    }
    }
    else if (document.getElementById){
    while (document.getElementById("flashlink"+i)!=null){
    flashlinks[i]= document.getElementById("flashlink"+i)
    i++
    }
    }
    setInterval("changelinkcolor()", 1600)
    }

    if (window.addEventListener)
    window.addEventListener("load", init, false)
    else if (window.attachEvent)
    window.attachEvent("onload", init)
    else if (document.all)
    window.onload=init

    </script>
    è possibile usare un id univoco per tutti i link?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Allora dovrei fare:
    <? echo $titolo_evento?>
    <? echo $titolo_evento?>
    ma in una pagina dinamica non mi è possibile.
    Ma scusa. Perche non ti è possibile fare cio' ? Lo scopo di un linguaggio tipo php è proprio questo.
    Se hai un ciclo per creare i tag A puoi fare cosi....

    codice:
    <?
    $i = 0;
    while (list($titolo_evento) = mysql_result($res)) {
     $flashlinkId = "flashlink$i"; ?>
     " flashtype=0 flashcolor="white"><? echo $titolo_evento?><? 
     $i++; 
    } ?>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Grazie ma non riesco ad unire il tuo codice con il mio, mi da sempre errore.

    questa è la prima parte:
    <script language="JavaScript1.2" type="text/javascript">
    var flashlinks=new Array()

    function changelinkcolor(){
    for (i=0; i< flashlinks.length; i++){
    var flashcolor=document.getElementById? flashlinks[i].getAttribute("flashcolor") : flashlinks[i].flashcolor


    if (flashlinks[i].style.color!=flashcolor){
    flashlinks[i].style.color=flashcolor
    } else {
    flashlinks[i].style.color=''
    }


    }
    }

    function init(){
    var i=0
    if (document.all){
    while (eval("document.all.flashlink"+i)!=null){
    flashlinks[i]= eval("document.all.flashlink"+i)
    i++
    }
    }
    else if (document.getElementById){
    while (document.getElementById("flashlink"+i)!=null){
    flashlinks[i]= document.getElementById("flashlink"+i)
    i++
    }
    }
    setInterval("changelinkcolor()", 1600)
    }

    if (window.addEventListener)
    window.addEventListener("load", init, false)
    else if (window.attachEvent)
    window.attachEvent("onload", init)
    else if (document.all)
    window.onload=init

    </script>

    e questa è la seconda parte:
    Codice PHP:
    <?php
        $sql_if 
    "SELECT * FROM c_agenda WHERE id_admin='$id_admin'";
        
    $result_if mysql_query($sql_if,$conn);
        
    $row_if mysql_fetch_array($result_if);

    if (
    $rs16['id_operatori']==1000){?>
    <?php
    }elseif ($rs16['id_operatori']==0){?>
    <?php
    }elseif ($rs16['id_operatori'] && $rs16['risposta_testo_evento']==NULL){?>

    [url="<?=$PHP_SELF?>?id_eventi=<?=$rs16[id_eventi]?>&pagina=2"]<? echo $titolo_evento?>[/url]
    <?=$rs16[tipologia_evento]?>
    -----------
    <?php
    } elseif ($rs16['id_operatori'] && $rs16['risposta_testo_evento']!=NULL){  ?>

    [url="<?=$PHP_SELF?>?id_eventi=<?=$rs16[id_eventi]?>&pagina=2"]<? echo $titolo_evento?>[/url]
    <?=$rs16[tipologia_evento]?>
    -----------
    <?php
    }
    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    up

  5. #5
    - più elementi con lo stesso id non ci possono essere
    - non ho letto tutto ma io creo l'effetto blink passando alla funzione l'id dell'elemento da far lampeggiare ...che ovviamente deve essere unico
    - altrimenti potresti sempre dare una class apposta a tali elementi e quando window.onload far pescare tutti questi elementi con una sorta di getElementsByClassName per cambiargli il colore ogni tot secondi...
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  6. #6
    scusa jarno ma ho capito solo il primo punto dei tre che mi hai scritto
    Nel primo punto, quindi, dicevi che non si possono usare sempre lo stesso id, ma neanche facendo un ciclo, come suggeritomi in precedenza?

  7. #7
    sì sì funzia...scusa ma non ho avuto tempo di leggere tutto con attenzione... volevo solo lanciare là 2 consigli....

    comunque riporto il metodo che uso io:

    dopo ogni testo faccio partire la funzione
    Codice PHP:
    Blink(idd,colore,coloreSuccessivo,pausa); 
    la funzione è questa
    Codice PHP:
    function Blink(id,colore,coloreSuccessivo,pausa){
    // cambia colore
    document.getElementById(id).style.color=colore;
    // riavvia
    setTimeout("Blnk('"+id+"', '"+coloreSuccessivo+"', '"+colore+"', '"+pausa+"')"pausa);

    in questo modo ti devi solo preoccupare di dare ad ogni testo un id diverso, per il resto sono due righe di javascript
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Ho fatto una piccola prova con il tuo codice js. Funziona bene anche con due tag A.

    Perche non provi a mettere nella tua pagina php quello che segue :

    All'inizio della pagina :
    $flashlinkId = 0;

    Poi quando crei il primo link lampeggiante :

    " flashtype=0 flashcolor="white"><? echo $quello_che_vuoi ?>
    <? $flashlinkId++; ?>

    Poi quando c'è il secondo :

    " flashtype=0 flashcolor="white"><? echo $quello_che_vuoi ?>
    <? $flashlinkId++; ?>

    etc...
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    grazie, ho provato ma su explorer non funziona e mi da errore e su netscape funziona solo su un link

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Da me funziona su entrambi browsers. Quindi l'errore deve essere un altro.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.