|
|
|
| Сразу скажу что я далек от java scriptов. Но скрипт который я тут выкладываю мне очень нужен на сайте. Это скрипт бегущей строки. Мне необходмо его скрорректоровать так, чтоб строка "пробегала" только один раз, т.е. чтоб не было ротации. Помогите пожалуйста, подскажите что нужно прописать, для знатоков java я думаю это не составит труда.
Вот сам скрипт:
<script language="JavaScript1.2">
//Specify the marquee's width (in pixels)
var marqueewidth="930px"
//Specify the marquee's height
var marqueeheight="20px"
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=2
//configure background color:
var marqueebgcolor=""
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=0
//Specify the marquee's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
var marqueecontent='<nobr>Тут сам текст бегущей строки</nobr>'
////NO NEED TO EDIT BELOW THIS LINE////////////
marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp">'+marqueecontent+'</span>')
var actualwidth=''
var cross_marquee, ns_marquee
function populate(){
if (iedom){
cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee2
ns_marquee.left=parseInt(marqueewidth)+8
ns_marquee.document.write(marqueecontent)
ns_marquee.document.close()
actualwidth=ns_marquee.document.width
}
lefttime=setInterval("scrollmarquee()",20)
}
window.onload=populate
function scrollmarquee(){
if (iedom){
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px"
else
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=parseInt(marqueewidth)+8
}
}
if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0" style="padding-left: 0px; padding-top: 5px;font-size: 12px; color: #CC0000; margin-left: auto; margin-right: auto; "><td>')
if (iedom){
write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+marqueewidth+';height:'+marqueeheight+';background-color:'+marqueebgcolor+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
write('<div id="iemarquee" style="position:absolute;left:0px;top:0px; 5px;"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee" bgColor='+marqueebgcolor+'>')
write('<layer name="ns_marquee2" left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script> | |
|
|
|
|
|
|
|
для: Romanych
(19.12.2011 в 16:39)
| | В scrollmarquee() вместо cross_marquee.style.left=parseInt(marqueewidth)+8+"px" вставить clearInterval(lefttime);
Также и с ns_marquee.left=parseInt(marqueewidth)+8
Общий вид:
function scrollmarquee()
{
if (iedom)
{
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
{
cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px";
}
else
{
clearInterval(lefttime); // cross_marquee.style.left=parseInt(marqueewidth)+8+"px";
}
}
else if (document.layers)
{
if (ns_marquee.left>(actualwidth*(-1)+8))
{
ns_marquee.left-=copyspeed
}
else
{
clearInterval(lefttime); //ns_marquee.left=parseInt(marqueewidth)+8
}
}
} | |
|
|
|