Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Alternatywa dla <marquee>
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Filip_Łdz
Witam, poszukuję małego skryptu w js, który byłby alternatywą dla <marquee>, z góry dzięki
erix
Google: javascript scroller
MicNeo
Osobiście to polecam ten skrypcik. Fajnie działa, jak zmieniasz strone to zapamiętuje gdzie ostatnio skończylo się wyswietlac i nie zaczyna od nowa wyświetlania, tylko od tego zapamiętego momentu smile.gif

Kod
<script type="text/javascript">
//<![CDATA[
//konfiguracja

var memorywidth="710px" //szerokosc
var memoryheight="321px" //wysokosc
var memorybgcolor="" //tlo (brak)
var memorypadding="6px" //padding
var borderCSS="border: 0" //obramowanie

var memoryspeed=4 //szybkosc przewijania
var pauseit=0 //zatrzymac po najechaniu myszka? (0-nie, 1-tak)

var memorycontent= 'tressssc'


// koniec konfiguracji


var persistlastviewedmsg=1
var persistmsgbehavior="onload"
var combinedcssTable="border:0; width:"+(parseInt(memorywidth)+6)+"px;background-color:"+memorybgcolor+";padding:"+memorypadding+";"+borderCSS+";"
var combinedcss="width:"+memorywidth+";height:"+memoryheight+";"

var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
memoryspeed=(document.all)? memoryspeed : Math.max(1, memoryspeed-2) //slow speed down by 1 for NS
var copyspeed=memoryspeed
var pausespeed=(pauseit==0)? copyspeed: 0
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-10000px">'+memorycontent+'</span>')
var actualwidth=''
var memoryscroller

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

function populatescroller(){
memoryscroller=document.getElementById? document.getElementById("memoryscroller") : document.all.memoryscroller
memoryscroller.style.left=parseInt(memorywidth)+8+"px"
if (persistlastviewedmsg && get_cookie("lastscrollerpos")!="")
revivelastmsg()
memoryscroller.innerHTML=memorycontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
lefttime=setInterval("scrollmarquee()",20)
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function savelastmsg(){
document.cookie="lastscrollerpos="+memoryscroller.style.left
}

function revivelastmsg(){
lastscrollerpos=parseInt(get_cookie("lastscrollerpos"))
memoryscroller.style.left=parseInt(lastscrollerpos)+"px"
}

if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg

function scrollmarquee(){
if (parseInt(memoryscroller.style.left)>(actualwidth*(-1)+8))
memoryscroller.style.left=parseInt(memoryscroller.style.left)-copyspeed+"px"
else
memoryscroller.style.left=parseInt(memorywidth)+8+"px"
}

if (iedom){
with (document){
write('<div style="position:relative;overflow:hidden;padding-top:7px;'+combinedcss+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=memoryspeed">')
write('<div id="memoryscroller" style="position:absolute;left:0px;top:7px;" '+divonclick+'></div>')
write('</div>')
}
}
//]]>
</script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.