Gå til innhold

[LØST] Slide tekst for RSS nyhetsstripe (får ikke endret "slide" retning)


Anbefalte innlegg

Hei, holder på å forsøke meg på en slik "nyhetsbar" nederst på skjermen (slik som er på infoskjermer på flyplasser ol.)

Problemet er at jeg har 0 peiling på javascript og har til nå brukt marquee (som hakker og ikke er valid)

 

Det neste problemet er at scriptet scroller teksten feil vei, altså fra venstre til høyre isteden for motsatt.

Det gjør det hele veldig vanskelig å lese.

 

Håper noen kan hjelpe meg å forklare litt hvordan dette kan fikses :)

 

<html>
<head>
<script type="text/javascript">

   function marquee(div, width)
   {
	 var element = document.getElementById(div);
	 var offsetWidth = element.offsetWidth * -1;

	 var tmpLeft = parseInt(element.style.left, 10);
	 tmpLeft += 1;
	 if(tmpLeft == width)
	 {
	   tmpLeft = offsetWidth;
	 }

	 element.style.left = tmpLeft + "px";
	 setTimeout('marquee("' + div + '", ' + width + ')', 0);
   }

   </script>

  </head>

<body onload="marquee('nyheter', 1280);">	

 <div id="nyheter" style="position: absolute; left: 0px; top: 0px; white-space: nowrap;"><?php include("rss.php"); ?></div>

</body>
</html>

 

EDIT: Om jeg endret "tmpLeft += 1;" til "tmpLeft -= 1;" går scriptet rett vei, men da looper det ikke når teksten er slutt..

Endret av Goggen90
Lenke til kommentar
Videoannonse
Annonse

Kanskje noko som dette?

 

<html>
<head>
<script type="text/javascript">
  function marquee(div)
  {
	var element = document.getElementById(div)
	var offsetWidth = element.offsetWidth;
	var timer = 10000/offsetWidth;
	var i = 0;
	while (offsetWidth >= 0)
	{
		var newtimer = timer * i;
		setTimeout("render(\""+div+"\","+offsetWidth+")", newtimer);
		offsetWidth--;
		i++;
	}
  }
  function render(div, value)
  {
	document.getElementById(div).style.marginLeft = value + "px";
	if (value == 0) marquee(div);
  }	
  </script>	
 </head>
<body onload="marquee('nyheter');">	
<div style="width:100%;">
	<div id="nyheter">test</div>
</div>
</body>
</html>

Endret av siDDIs
Lenke til kommentar

Takk for svar :)

 

Scriptet fungerte utmerket på ett ord, men når det ble en hel rss feed streiket det.

Det var veldig fint at du fikk inn "100%" bredde, det savnet jeg i det andre.

 

Noen flere forslag?

 

Fant ut at om jeg endret "tmpLeft += 1;" til "tmpLeft -= 1;" går scriptet rett vei, men da looper det ikke når teksten er slutt..

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...