Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420

    testo che cambia sfumando

    Ciao a tutti, sto cercando di sistemare uno script che ho trovato su un sito che alterna delle frasi sfumandole ma non ne so molto di js... un grazie speciale a chi saprà aiutarmi!

    codice:
    <head>
    <script language="JavaScript1.2">
    <!--
    ie=document.all?1:0
    n=document.layers?1:0
    
    betweendelay=5000
    
    var loop=1
    
    FontFace='arial,helvetiva'
    
    FontSize=22
    
    fadeback=1
    
    //Set the colors, first color is same as background, last color is the color it stops at:
    //You can have upto 7 colors, set the ones you wan't use to 0
    colors=new Array()
    colors[0]='#FFFFFF'
    colors[1]='#EEEEEE'
    colors[2]='#CCCCCC'
    colors[3]='#999999'
    colors[4]='#666666'
    colors[5]='#333333'
    colors[6]='#000000'
    
    news=new Array(new Array(),new Array())
    news[0]["text"]="Frase1 Frase1 Frase1 Frase1 Frase1 Frase1 Frase1 "
    news[1]["text"]="Frase2 Frase2 Frase2 Frase2 Frase2 Frase2 Frase2 "
    
    
    fadeInit=new Function("oNews=new makeObj('divNews','divCont'); fadeNews(0)")
    function makeObj(obj,nest){
        nest=(!nest) ? '':'document.'+nest+'.'
        this.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style')
        this.writeref=(n) ? eval(nest+'document.'+obj+'.document'):eval(obj);		
    	this.fadeIt=b_fadeIt
        this.obj = obj + "Object"; 	eval(this.obj + "=this")	
    }
    function b_fadeIt(text,link,font,size,speed,fn,num,c0,c1,c2,c3,c4,c5,c6){
    	if(num<arguments.length && arguments[num]!=0){
    		writetext='<a href="'+link+'" style="text-decoration:none; font-size:'+size+'px">'
    		+'<font face="'+font+'" color="'+arguments[num]+'">'+text+'</font></a>'
    		if(n){this.writeref.write(writetext); this.writeref.close()}
    		if(ie) this.writeref.innerHTML=writetext		
    		num++
    		setTimeout(this.obj+'.fadeIt("'+text+'","'+link+'","'+font+'",'+size+','+speed+',"'
    		+fn+'",'+num+',"'+c0+'","'+c1+'","'+c2+'","'+c3+'","'+c4+'","'+c5+'","'+c6+'")',speed)
    	}else setTimeout('eval('+fn+')',betweendelay)
    }
    function fadeNews(num){
    	if(num<news.length){
    		fn=fadeback?'fadeBack('+num+')':'fadeNews('+(num+1)+')';
    		oNews.fadeIt(news[num]["text"],news[num]["link"],FontFace,FontSize,100,fn,7,
    		colors[0],colors[1],colors[2],colors[3],colors[4],colors[5],colors[6])
    	}else if(loop)fadeNews(0)
    }
    function fadeBack(num){
    	if(num>=0){
    		oNews.fadeIt(news[num]["text"],news[num]["link"],FontFace,FontSize,100,'fadeNews('+(num+1)
    		+')',7,colors[6],colors[5],colors[4],colors[3],colors[2],colors[1],colors[0])
    	}
    }
    onload=fadeInit;
    -->
    </script>
    
    </HEAD>
    
    <BODY bgcolor="white" >
    
    
    
    
    
    
    <div id="divCont" style="position:absolute; width:250; height:200; left:200; top:180">
    	<div id="divNews" style="position:absolute">
    		
    	</div>
    </div>
    Il problema principale è che non riesco ad aumentare il numero delle frasi... non so come trasformare quell'array bidimensionale in mono-dimensionale...
    Ho provato aggiungendo

    news[2]["text"]="Frase3 Frase3 Frase3 Frase3 Frase3 Frase3 Frase3 "

    ma ottendo solo di non far funzionare lo script;
    inoltre vorrei eliminare l'effetto link sulle frasi...
    In origine quella parte di codice era così:
    codice:
    news=new Array(new Array(),new Array())
    news[0]["text"]="Ciaoooooooooooooooooooooooooooooooo"
    news[0]["link"]="a tuttiiiiiiiiiiiiiiiiiiii"
    news[1]["text"]="aaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaa"
    news[1]["link"]="bbbbbbbbbb bbbbbbbbbbb bbbbbbbbbbb"
    Altra cosa,
    ho provato a modificare forma, colore e dimensione del testo tramite regole di stile sui div Cont e News senza ottenere nessun risultato... questo perchè dimensione e font sono indicate direttamente nello script vedo... è aggirabile la cosa? Posso eliminarle dallo script e gestirle tramite css?

    Ciao e grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Ok, un problema credo di averlo risolto facendo così:

    codice:
    news=new Array(new Array(),new Array(),new Array())
    news[0]["text"]="Frase1 Frase1 Frase1 Frase1 Frase1 Frase1 Frase1 "
    news[1]["text"]="Frase2 Frase2 Frase2 Frase2 Frase2 Frase2 Frase2 "
    news[2]["text"]="Frase3 Frase3 Frase3 Frase3 Frase3 Frase3 Frase3 "
    Quindi ogni frase è un nuovo array? è corretto?
    Altra cosa che mi viene in mente...
    Modificando il parametro "betweendelay=5000" io riesco a far si che la frase permanga 5 sec prima di sparire e mi può andar bene... il guaio è che anche la successiva compare dopo 5 secondi lasciandomi spazio vuoto per tutto quel tempo...
    E' possibile introdurre un nuovo parametro per far si che la frase successiva compaia dopo meno tempo?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    E' una cosa troppo banale o troppo difficile (...o troppo scema?!) :-D

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Continuo ad essere ottimista... magari un'anima pia la trovo prima o poi!
    Comunque... ho risolto quasi tutti i problemi precedenti ma adesso mi occorre capire come formattare il testo in base alle mie esigenze...
    In particolare, lo script funziona perfettamente su fondo bianco, ma poichè dev'essere posizionato su un'immagine, a me servirebbe che l'ultimo colore sia trasparente e non ho idea di come impostarlo.
    Se riuscissi ad aggirare la formattazione del testo nello script per poterla gestire tramite css riuscirei ad ottenere gli effetti che voglio, ma tutte le mie prove sono state vane fin'ora...

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da sitodue
    Continuo ad essere ottimista... magari un'anima pia la trovo prima o poi!
    Quando le domande sono "complesse" fatte da un profano su uno script obsoleto, dalle mie parti si dice "è più la fatica che il gusto
    Comunque... ho risolto quasi tutti i problemi precedenti ma adesso mi occorre capire come formattare il testo in base alle mie esigenze...
    In particolare, lo script funziona perfettamente su fondo bianco, ma poichè dev'essere posizionato su un'immagine, a me servirebbe che l'ultimo colore sia trasparente e non ho idea di come impostarlo.
    Se riuscissi ad aggirare la formattazione del testo nello script per poterla gestire tramite css riuscirei ad ottenere gli effetti che voglio, ma tutte le mie prove sono state vane fin'ora...
    Dubito che si possa fare sia in javascript che con i css (non so con i css3 li conosco poco ma non sarebbe cross-browser), da quanto ne so il "colore" trasparente non esiste
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.