Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    muovere le notizie in verticale

    Ho provato a scrivere questo codice per far muovere le notizie in verticale non da nessun errore però non si muove niente, quello che ho provato a fare era di diminuire il valore di TOP di 25px ogni 3 secondi e poi arrivato all'ultima notizia tornare a zero per tornare alla prima notizia.


    <div id="tweet">


    | Da oggi 17/09 con l'attuazione della manovra finanziaria, sarà obbligatorio applicare sulle vendite l'IVA al 21% anziché al 20% - 26days ago . reply . reteet . favorite</p>


    | 2a oggi 17/09 con l'attuazione della manovra finanziaria, sarà obbligatorio applicare sulle vendite l'IVA al 21% anziché al 20% - 26days ago . reply . reteet . favorite</p>


    | 3a oggi 17/09 con l'attuazione della manovra finanziaria, sarà obbligatorio applicare sulle vendite l'IVA al 21% anziché al 20% - 26days ago . reply . reteet . favorite</p>
    </div>

    /*CSS*/
    #tweet{
    width:940px;
    height:25px;
    margin:auto;
    /*overflow:hidden;*/
    background:#e5efe8 url(../media/uccellino.png) no-repeat 7px 3px;
    }
    #tweet p{
    position:relative;
    top:0;
    height:25px;
    padding:0 0 0 32px;
    margin:0;
    line-height:24px;
    font-size:12px;
    color:#181d19;
    }

    //JAVASCRIPT
    var Twitter =
    {
    init: function()
    {
    Twitter.p = $('tweet').down('p');
    Twitter.frameHeight = 25;
    Twitter.frames = 3;
    Twitter.offsetY = 0;
    Twitter.animate();
    },
    animate: function()
    {
    Twitter.offsetY -= Twitter.frameHeight;
    if (Twitter.offsetY <= -Twitter.frameHeight * Twitter.frames)
    {
    Twitter.offsetY = 0;
    }
    Twitter.p.style.top = "0 " + Twitter.offsetY + "px";
    setTimeout(Twitter.animate, 3000);
    }
    };
    Event.observe(window, 'load', Twitter.init, false);

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Questo Twitter.frames mi fa pensare che siano notizie di twitter in un iframe, se è cosi lascia pedere il javascript non opera/interagiscie con siti esterni al tuo, se non fosse cosi prova a postare la pagina demo online e indica se usi un framework e quale.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Sono riuscito a risolverlo
    ho modificato Twitter.p = $('tweet').getElementsByTagName('p');
    ed ho inserito un ciclo che aggiunge ad ogni elemento della node list di Twitter.p lo style top con il valore Twitter.offsetY

    for (var i = 0; i < Twitter.p.length; i++)
    {
    Twitter.p[i].style.top = Twitter.offsetY + "px";
    }

    Ha anche un sistema che si aziona quando arriva all'ultima notizia torna alla prima.

    ECCO IL CODICE COMPLETO:
    var Twitter =
    {
    init: function()
    {
    Twitter.p = $('tweet').getElementsByTagName('p');
    Twitter.frameHeight = 25;
    Twitter.frames = Twitter.p.length -1;
    Twitter.frameNow = 0;
    setTimeout(Twitter.animate, 3000);
    },
    animate: function()
    {
    if (Twitter.frameNow >= Twitter.frames )
    {
    Twitter.frameHeightLast = Twitter.frameNow * Twitter.frameHeight;
    for (var i = 0; i < Twitter.p.length; i++)
    {
    new Effect.MoveBy(Twitter.p[i],Twitter.frameHeightLast,0);
    }
    Twitter.frameNow = 0;
    }
    else
    {
    for (var i = 0; i < Twitter.p.length; i++)
    {
    new Effect.MoveBy(Twitter.p[i],-Twitter.frameHeight,0);
    /*Twitter.p[i].style.top = Twitter.offsetY + "px";*/
    }
    Twitter.frameNow ++;
    }
    setTimeout(Twitter.animate, 3000);
    }
    };
    Event.observe(window, 'load', Twitter.init, false);

  4. #4
    Anche se non ho mai implementato twitter mi ricordavo che si dovrebbe inserire un iframe, infatti all'inizio non avevo inserito nessun javascript ma solo un elemento p per dare l'idea di come si sarebbero presentate le notizie, poi mi hanno chiesto di animare le notizie così ho implementato javascript.

    Forse mi sono sbattuto per niente, però in reltà l'ho fatto per esercitarmi a scrivere JavaScript, questa è la prima volta che faccio uno script.

    Comunque la libreria che ho utilizzato è Prototype.

    Grazie mille della tua attenzione

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.