Autor Zpráva
starburst
Profil
Zdravím vás. chtěl jsem si udělat galerii podobnou co meli na internetu napriklad super.cz nebo aktualne.cz s rolovanim pomoci JS ale nechapu proc mi to nechce vzit nasledujici tag:

je to stazeny ze stranky a samostatne to funguje takze to nemusite projizdet radek po radku kde je chyba...spis bude nekde chyba v tom ze to nechce vzit styl toho zapisu... kdyz tam vlozim odkaz to te specifikace tak to normalne funguje ale kdyz tam vlozim "JS odkaz" tak uz ne...

<script type="text/javascript">

//konfigurace sipek
var goleftimage='pointer.gif'
var gorightimage='pointer2.gif'
//configurace sirky (v px):
var menuwidth=390
//configurace vysky (v px):
var menuheight=100
//Specifikace smeru pohybu sipek ("normal" or "reverse"):
var scrolldir="reverse"
//configurace rychlosti rolovani - vetsi cislo je rychlejsi
var scrollspeed=6

//specifikace menu
var menucontents='<nobr><IMG SRC="1_m.jpg"><IMG SRC="2_m.jpg"><IMG SRC="3_m.jpg"><IMG SRC="4_m.jpg"><IMG SRC="5_m.jpg"><IMG SRC="6_m.jpg"><IMG SRC="7_m.jpg"></nobr>'


//dal uz nic neni potreba nastavovat
var iedom=document.all||document.getElementById
var leftdircode='onMouseover="moveleft()" onMouseout="clearTimeout(lefttime)"'
var rightdircode='onMouseover="moveright()" onMouseout="clearTimeout(righttime)"'
if (scrolldir=="reverse"){
var tempswap=leftdircode
leftdircode=rightdircode
rightdircode=tempswap
}
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100;left:-5000">'+menu  contents+'</span>')
var actualwidth=''
var cross_scroll, ns_scroll
var loadedyes=0
function fillup(){
if (iedom){
cross_scroll=document.getElementById? document.getElementById("test2") : document.all.test2
cross_scroll.innerHTML=menucontents
actualwidth=document.all? cross_scroll.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_scroll=document.ns_scrollmenu.document.ns_scrollmenu2
ns_scroll.document.write(menucontents)
ns_scroll.document.close()
actualwidth=ns_scroll.document.width
}
loadedyes=1
}
window.onload=fillup

function moveleft(){
if (loadedyes){
if (iedom&&parseInt(cross_scroll.style.left)>(menuwidth-actualwidth)){
cross_scroll.style.left=parseInt(cross_scroll.style.left)-scrollspeed+  "px"
}
else if (document.layers&&ns_scroll.left>(menuwidth-actualwidth))
ns_scroll.left-=scrollspeed
}
lefttime=setTimeout("moveleft()",50)
}

function moveright(){
if (loadedyes){
if (iedom&&parseInt(cross_scroll.style.left)<0)
cross_scroll.style.left=parseInt(cross_scroll.style.left)+scrollspeed+  "px"
else if (document.layers&&ns_scroll.left<0)
ns_scroll.left+=scrollspeed
}
righttime=setTimeout("moveright()",50)
}


if (iedom||document.layers){
with (document){
write('<table border="0" cellspacing="0" cellpadding="2">')
write('<td valign="middle"><a href="#" '+leftdircode+'><img src="'+goleftimage+'"border=0></a> </td>')
write('<td width="'+menuwidth+'px" valign="top">')
if (iedom){
write('<div style="position:relative;width:'+menuwidth+'px;height:'+menuheight+'px  ;overflow:hidden;">')
write('<div id="test2" style="position:absolute;left:0;top:0">')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+menuwidth+' height='+menuheight+' name="ns_scrollmenu">')
write('<layer name="ns_scrollmenu2" left=0 top=0></layer></ilayer>')
}
write('</td>')
write('<td valign="middle"> <a href="#" '+rightdircode+'>')
write('<img src="'+gorightimage+'"border=0></a>')
write('</td></table>')
}
}

</script>

<IMG SRC="1.jpg" ALT=" " NAME="large">


takle to normalne funguje ale problem je v tom ze kdyz do specifikace menu chci vlozit tag ktery udela to ze kdyz kliknu na miniaturu tak se zmeni obrazek dole pod tim. jakmile pridam

ONMOUSEdown="document.images['large'].src='1.jpg'"


k jakemukoliv obrazku ve specifikaci menu tak kdyz to dam na net tak to cele zmizi... nevite co je spatne? pokud to delam kazde zvlast tak oboji funguje ale jakmile to vlozim do sebe tak to nefunguje...

diky moc
peta
Profil
ONMOUSEdown="document.images['large'].src='1.jpg'"

Tohle je ale chybny zapis, pokud ho vkladas pres JS.
objekt.ONMOUSEdown="document.images['large'].src='1.jpg'"
1. ONMOUSEdown -> onmousedown
2. on...aaa = function(){...bbb...}
Nebo tak nejak se pise efekt na rozdil od HTML, kde to napises:
<objekt on...aaa = "...bbb...";

3. hodne by se vyresilo odkazem na chybnou stranku a zminkou, co ti pise JS konzola za chybu. Predpokladas-li, ze je chyba v JS, v konzoli to bude.
starburst
Profil
Jasny... ta stranka je tady a konzole mi pise



zkousel jsem to prepsat tak jak si psal ale stejne to nefunguje... prozatimne sem to na ostre strance (tady) nahradil pomoci iframu a normalniho odkazu ale neni to ono...
peta
Profil
starburst
alert(document.images)
Pokud vim, tak je to pole 0..n

podstatne ale je...
ze radek, na kterem je chyba neni uveden v tvem kodu!!! Takze by jsme na nej asi tezko prisli. Nadarmo nerikam, davejte odkaz a opet stejna chyba, zadny odkaz.

A jinak chybu presne zusobuje misto, ktere oznacila JS konzola
var menucontents='<nobr>... image.[' <- konec retezce, co mas za ukoncenym retezcem v celku JS nezajima, ani jiny programovaci jazyk.
Uvozovky v uvozovkach je treba zalomitkovat '...\'...\'...' . Ju?
Jestli te to potesi, tak je to klasicka programatorska chyba, stava se to i mne, jenze ji vetsinou odhalim.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0