[ dado_k @ 08.09.2005. 18:14 ] @
dakle treba mi jscript funkcija koja bi radila nešto isto kao i marquee tag pošto je preporučeno da se marquee ne koristi nego neki javascript umjesto njega dakle trebam riješenje ne mora niti biti jscript može neko bolje riješenje samo da je u skladu sa w3 standardima
[ dado_k @ 08.09.2005. 19:58 ] @
evo vidim da niko ne odgovara ionako nema veze sad sam sjeo pokušao neke stvari i napravio evo koda recite jel valja šta to i s kojim browserima min verzije se to može vidjeti
Code:
var pos=450;
var brzina=2;
var brjj=0;

function Scroll() {
  pos =pos-brzina;
  var ss=document.getElementById('tekst').offsetWidth;
document.getElementById('tekst').style.left=pos+'px';

if(document.getElementById('tekst').offsetWidth==ss)
brjj+=1;
if(brjj>225){
brjj=0;
 pos=450;
 }
  window.setTimeout("Scroll();",30);
}
[ dado_k @ 09.09.2005. 22:08 ] @
evo u novoj verziji :) sređeno je da i u IE radi dobro dakle ovaj kod ispod sad radi i u IE-u dok su prije bili nekoliko problema... al sad je dobro evo koda ako nađem još koju grešku ili šta i napravim novu verziju postovat ću je tu :) evo koda :
Code:
var pos=450;
var brzina=2;
var brjj=0;

function Scroll() {
  pos =pos-brzina;
  var ss=document.getElementById('tekst').offsetWidth;
document.getElementById('tekst').style.left=pos+'px';

if(document.getElementById('tekst').offsetWidth==ss)
brjj+=1;
else
brjj=0;
if(brjj>225){
brjj=0;
 pos=450;
 }
  window.setTimeout("Scroll();",30);
}
molim vas da kažete ukoliko ne radi (i naravno verziju browsera)
[ noviKorisnik @ 09.09.2005. 23:55 ] @
Radi lepo, ali jako zavisi od html-a i css-a, pa bi te zamolio da ostaviš i ta 2 detalja ;-)

Najlepše mi radi u FF, dok Opera i IE podnose ali ubacuju reč po reč umesto kontinuiranog toka celog teksta.

Umesto neprekidnog pozivanja setTimeout dovoljno je da celu igru pokreneš sa setInterval.

Misc: document.getElementById ('tekst') referenciraš tri puta u funkciji, mogao bi da ubaciš promenljivu za tu referencu.
[ dado_k @ 10.09.2005. 00:54 ] @
oke evo ostavljam koda ovo je html kod treba ga stavit di se treba pojaviti text u body dijelu naravno :) evo koda
Code:
<div id="najnovije" style="overflow:hidden;"><div id="tekst" style="position:absolute; left:0; overflow:hidden;">
<p><script type="text/javascript">Scroll();</script>idemo idemo.... :)).</p>
</div>
</div>


i jscript evo uredio sam ga malo:)
Code:

var pos=450;
var brzina=2;
var brjj=0;
function Scroll() {
  pos =pos-brzina;
  tt=document.getElementById('tekst');
  var ss=tt.offsetWidth;
tt.style.left=pos+'px';
if(tt.offsetWidth==ss)
brjj+=1;
else
brjj=0;
if(brjj>225){
brjj=0;
 pos=450;
 }
timer = setInterval ('Scroll()', 50);
}




a ovo sam vidio u ie i operi al ne znam budem probao srediti al kad bolje pogledam to još lijepo i izgleda :)
evo složilsam sad i ovo setInteval možeš mi samo reći u čemu je glavna razlika? između setTimeout i setInterval

[Ovu poruku je menjao dado_k dana 10.09.2005. u 02:18 GMT+1]
[ noviKorisnik @ 10.09.2005. 11:34 ] @
Da okačim i ja... fajl uz poruku.

setInterval treba samo jednom da se pozove, tako da ne treba da ide u funkciju.

Ono što sam nazvao okvir je proizvoljan element na stranici koji treba da drži marki, određuje mu poziciju i širinu, markiholder se pozicionira relativno na taj element, a tekst apsolutno u odnosu na markiholder (ovo zvuči malo paradoksalno, ali kada se tako postavi radi).

Potrebno je da se odredi visina elemenata jer bi inače u slučaju dužeg teksta marki zauzimao više redova, bljak.

Izbacio sam brjj jer mi nije jasno po kom osnovu si birao te brojke. Postoji zato druga kontrola kada treba da se krene iznova, čini mi se da će u FF uvek raditi kako valja, dok IE i Opera mogu da imaju problema ako je neka reč zauzima veću širinu od okvir elementa. I inače mi se ne sviđa što dodaju reč po reč u tekst, moguće je postoji način da se i to reguliše, ali nemam predstavu kako.
[ dado_k @ 10.09.2005. 20:10 ] @
e pa kad ja imena varijabli smišljam na načine na koje si nemožeš zamislit :) vidiš i sam a da vidiš tek skripte u phpu gdje naprimjer imam ime varijable fghsd300 :) to ionako nema veze s ničim bar je ddrugima kod nerazumljivi :) a što se tiče skripte skužil sam to i složil ovak vidio sam atach izgleda dobro ustvari isto ko i moje samo malo preoblikovano ej da i da pitam koja je glavna razlika između tvog i mog koda išao sam gledati sourc3 normalno i našao sam par pojmova koje ja nisam nikad koristio doduše ne kužim se baš previše ni u js al šta znači ovo
pos = t.parentNode.offsetWidth;

ovaj parent node što je to ustvari?
a ovo za riješiti da se ne prikazuje onako(riječ po riječ nego slovo po slovo) znam da je moguće al isto ne znam baš kako ustvari imam ideju al treba ju isprobat al nešto mi govori da sam umislio glupost :-)
[ noviKorisnik @ 10.09.2005. 20:18 ] @
http://www.google.com/search?q=parentNode

Malo DOM skriptinga, ionako se već koristi document.getElementById. Ovo je isto iz te priče, element koji sadrži t, odnosno markiholder.

OK, nastavi, bilo bi lepo da se dobije kontinuirano kretanje i u ostalim browserima.
[ dado_k @ 30.09.2005. 20:13 ] @
ima li ko riješene kako da dobijem kretanje u IE kao i kod firefoxa (slovo po slovo a ne riječ o riječ??
[ bzero @ 04.10.2005. 10:38 ] @
Nesto mi pade na pamet dok sam ovo gledao. Sve skripte ovog tipa koje sam do sada video, koriste manje vise isti pristup: tekst se nalazi u nekom apsolutno pozicioniranom divu, koji se onda pomera tako sto se menja style.left (ili top) u odnosu na neki drugi objekat.
Medjutim, tekst bi mogao da se pomera i menjanjem style.margin-(left|top). Evo primera koji radi i fino skroluje u FF, IE i Operi:

Code:

<html>
<head>
<title>margin marquee</title>
<style>
#marki {
    width: 240px;
    border: 1px solid maroon;
    overflow: hidden;
}
#tekst{
    white-space: nowrap;
    line-height: 1.5em;
}
</style>
<script type="text/javascript">

var txt, hld, pos;
var brzina = 20;
var korak = 1;

function scroll() {
    pos -= korak;
    if (-pos > hld.offsetWidth) {
        pos = txt.parentNode.offsetWidth;
    }
    txt.style.marginLeft = pos + 'px';
}

window.onload = function () {
    txt = document.getElementById("tekst");
    hld = document.getElementById("holder");
    pos = txt.parentNode.offsetWidth;
    txt.style.marginLeft = pos + "px";
    var myinterval = setInterval('scroll()', brzina);
}
</script>
</head>
<body>
<div id="marki">
    <div id="tekst">
    <span id="holder">
    Lorem ipsum dolor sit amet,
    consectetur adipisicing elit,
    sed do eiusmod tempor incididunt
    ut labore et dolore magna aliqua.
    </span>
    </div>
</div>
</body>
</html>

[ VRKY @ 23.05.2006. 21:27 ] @
http://www.dynamicdrive.com/dynamicindex2/cmarquee2.htm
http://www.dynamicdrive.com/dynamicindex2/cmarquee.htm
[ -V-O-Y-A-G-E-R- @ 28.03.2007. 01:13 ] @
Na FF-u na Macu (v2.0.0.1) isto ubacuje reč po reč. Isto je i na Operi 9.2, Safariju i Caminu v1.0.4.

Ovi sa DynamicDrive-a rade smooth na svim pomenutim browserima :)
[ colja29 @ 11.07.2007. 22:17 ] @
?(
Pomagajte!

Skinuo sam sa http://www.dynamicdrive.com/dynamicindex2/iframe-scroller.htm i u external fajlu postavio moje referale za razmenu banera,sve to lepo radi ali kada se ocita(odskroluje) poslednji baner od niza, umesto da prvi u nizu baner krene odozdole on krece od sredine ili odozgo!
Cackao sam po skripti ali nista nisam dobio!

Na ovoj adresi je external fajl : http://colja.8tt.org/external.htm
a ovde je index : http://colja.8tt.org/index-test.htm

p.s. kako da se preradi skripta da ide horizontalno ?


Unapred Hvala! :0

[Ovu poruku je menjao colja29 dana 11.07.2007. u 23:59 GMT+1]
[ ZorantraX @ 30.09.2007. 15:06 ] @
Ako ti je samo problem validacija marquee komande,
onda je jednostavno zapakuj u java script i to pozovi u stranu
Mozda je varanje ali mene ledja vise ne bole...:)
http://www.zoranns.com/the-no1/