- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come creare box scroll news verticale - con php / myqsl e javascript
-
Come creare box scroll news verticale - con php / myqsl e javascript
Ciao ragazzi, qualcuno mi può aiutare?
Ho la necessità di creare un box con notizie scorrevoli
e ce l'ho quasi fatta, ma non riesco a risolvere l'ultimo problema...non so come far capire allo script che movimenta il tutto di javascript di pescare solo le ultime 3 righe e di metterele su 3 righe separate..
ora mi pesca dal database solo l'ultima notizia
vi posto il codice.
**STILE (questa parte è corretta e serve per definire la formattazione del box)
**[html]
<style type="text/css">/Example CSS for the two demo scrollers/
#pscroller1{
width: 141px;
height: 100px;
border: 1px solid black;
padding: 2px;
background-color: lightyellow;
font-size:80%;
}.someclass{ //class to apply to your scroller(s) if desired
}</style>[/html]**PHP (serve ad estrarre le notizie dal mio database - su una tabella non scorrevole funziona correttamente)
*[html]<?php / faccio estrarre la notizie dal mio database */
$recuperanotizie=mysql_query('
select
notizie.id as idnotizie, notizie.tipo as tiponotizia,
titolo, riassunto, link
from notizie, tiponotizie
where tiponotizie.id=notizie.tipo
and notizie.tipo=1
order by idnotizie
', $connessione);
while ($tempo_cat=mysql_fetch_array($recuperanotizie)){$idnotizie=$tempo_cat['idnotizie']; //15
$titolo=$tempo_cat['titolo'];
$riassunto=$tempo_cat['riassunto'];
$link=$tempo_cat['link'];echo "$titolo <br/> $riassunto<br/><br>";
}
?>[/html]**JAVASCRIPT (L'ERRORE E' QUI..!! credo)
**[html]<script type="text/javascript">
/Example message arrays for the two demo scrollers/
var pausecontent=new Array()
pausecontent[0]='<?php echo "$titolo"; ?><br /><?php echo "$riassunto"; ?>'
pausecontent[1]='<?php echo "$titolo"; ?><br /><?php echo "$riassunto"; ?>'
pausecontent[2]='<?php echo "$titolo"; ?><br /><?php echo "$riassunto"; ?>'</script>[/html]Vi posto anche l'ultimo pezzo che dà il movimento, così se si riesce a correggere il tutto lo script è completo.
PARTE IN JAVASCRIPT CHE MOVIMENTA LE NOTIZIE*(questa è corretta.. infatti se nel codice sopra invece di mettere delle variabili metto testo fisso funziona; lo script in js l'ho prelevato da un sito che forniva questo codice, mentre il php /mysql l'ho integrato io.. )
*[html]<script type="text/javascript">/***********************************************
- Pausing up-down scroller- Dynamic Drive (dynamicdrive.com)
- This notice MUST stay intact for legal use
- Visit dynamicdrive.com for this script and 100s more.
***********************************************/
function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}</script>[/html]Grazie in anticipo. Laura