ugrás a tartalomhoz

Képek előtöltése, CSS NINCS, javascript van...

fobee000 · 2008. Jan. 4. (P), 20.21
Sziasztok!

Lehet hogy már volt ilyenről szó, mindenesetre én erre konkrét megoldást még nem találtam. Szóval a probléma a következő. Van egy slider, ami 44 képet mozgat jobbra, vagy balra úgy, hogy csak néhányat mutat közülük egyszerre. Ezeket szeretném előre betölteni, mert így kicsit akadozik és nem folyamatos a futása a képeknek( bocs hogy ilyen hülyén fogalmazok). Na most mivel ezek nem háttérképek, hanem linkek szövege helyén képek, és css-t sem használtam, a kérdésem az, hogy létezik-e erre valamilyen megoldás? A csúszka egyébként javascript-el van megcsinálva. Az oldal címe , hogy lássuk is hogy miről van szó. Előre is köszi a válaszokat.

Üdv, Fobee
 
1

Más lehet a baj

fobee000 · 2008. Jan. 4. (P), 23.52
Megcsináltam próbaképpen úgy az alsót, hogy egy egész kép az egész, hátha nem akadozna, de így is olyan. Mi lehet a probléma, mert valószínűleg nem előtöltés.. ?
2

Mi is a cím?

Nagy Gusztáv · 2008. Jan. 5. (Szo), 00.50
Én nem találom a linket :-(
3

cím

fobee000 · 2008. Jan. 5. (Szo), 01.17
fobee.freeweb.hu

Kiírtam így is, mert az előbbi link nem került fel ide és most se rakja ki a linket
5

??

fobee000 · 2008. Jan. 5. (Szo), 18.36
Na, senkinek semmi ötlete nincs???
4

Kódrészlet :

fobee000 · 2008. Jan. 5. (Szo), 01.26
Itt van a kód is ami működteti, a képek közül csak egyet hagytam bent a listában, egy tömbben vannak tárolva amugy a hivatkozások. A kódot nem én írtam hanem letöltöttem és átírtam olyanra amilyen nekem kell, mármint a beállításokat. Lehet hogy eleve lassabban fut ez így, nemtom.. :S

<script type="text/javascript">


//Specify the slider's width (in pixels)
var sliderwidth=800
//Specify the slider's height
var sliderheight="25px"
//Specify the slider's slide speed (larger is faster 1-10)
var slidespeed=1
//configure background color:
slidebgcolor="#333333"

//Specify the slider's images

var rightleftslide=new Array()
var finalslide=''
rightleftslide[43]='<a href="./orszagok/albania.html" target="mainFrame"><img src="./images/orszagok/albania_nincs.gif" border="0"></a>'


//Specify gap between each image (use HTML):
var imagegap=" "

//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=5


////NO NEED TO EDIT BELOW THIS LINE////////////


var copyspeed=slidespeed
rightleftslide='<nobr>'+rightleftslide.join(imagegap)+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;right:-9000px">'+rightleftslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide

function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=rightleftslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.right=actualwidth+slideshowgap+"px"
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(rightleftslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.right=actualwidth+slideshowgap
ns_slide2.document.write(rightleftslide)
ns_slide2.document.close()
}
righttime=setInterval("slideright()",30)
}
window.onload=fillup

function slideright(){
if (iedom){
if (parseInt(cross_slide.style.right)>(actualwidth*(-1)+8))
cross_slide.style.right=parseInt(cross_slide.style.right)-copyspeed+"px"
else
cross_slide.style.right=parseInt(cross_slide2.style.right)+actualwidth+slideshowgap+"px"

if (parseInt(cross_slide2.style.right)>(actualwidth*(-1)+8))
cross_slide2.style.right=parseInt(cross_slide2.style.right)-copyspeed+"px"
else
cross_slide2.style.right=parseInt(cross_slide.style.right)+actualwidth+slideshowgap+"px"

}
else if (document.layers){
if (ns_slide.right>(actualwidth*(-1)+8))
ns_slide.right-=copyspeed
else
ns_slide.right=ns_slide2.right+actualwidth+slideshowgap

if (ns_slide2.right>(actualwidth*(-1)+8))
ns_slide2.right-=copyspeed
else
ns_slide2.right=ns_slide.right+actualwidth+slideshowgap
}
}
////slideleft vége

if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div id="test2" style="position:absolute;right:0px;top:0px"></div>')
write('<div id="test3" style="position:absolute;right:-1000px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
write('<layer name="ns_slidemenu2" right=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" right=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script>
6

lassu

gonoszcsiga · 2008. Jan. 5. (Szo), 23.45
szerintem ez egy procigyilkos script azert lassu, vidd az egeret az egyik fole kozben a szemed a masikon legyen, es latni fogod, hogy begyorsul a masik(nalam legalabbis).
szerintem vedd ki az alsot, helyette rakd be normal betumerettel az orszagok nevet, mivel baromi idegolo kivarni, hogy navajon mikor scrollozik be mar az az orszag amire varok.
7

Sajna ilyen kell annak akinek csinálom

fobee000 · 2008. Jan. 6. (V), 00.00
Az addig jó lenne hogy kiveszem, de sajnos olyan kell akinek csinálom, hogy alul-felül ugyanaz csak az irány ellentétes. Ja meg hogy a szöveg is effektekkel rendelkezzen, hogy olyan legyen, mintha "ragyognának" a betűk.
Micsoda igények... :) Lehet másik scriptet kéne néznem, de a javahoz sajna nem értek, örültem hogy ezt az egyet is össze sikerült hoznom.
8

Ja meg nem muszály kivárni

fobee000 · 2008. Jan. 6. (V), 00.06
Ja meg a térképre is lehet kattintani, azon is ott vannak a linkek, bár a nagyon kicsi országokat tényleg ki kell célozgatni az egérrel :)
9

horizontal scroller

griphons · 2008. Jan. 7. (H), 10.45
Én ezt használtam már korábban. Sztem egyszerűbb, és gyorsabb is mint a tied:
http://www.fortochka.com/JavaScript/HorScroller/default.htm
Viszonylag egyszerű vertikálissá is átalakítani, és irányváltani sem bonyolult, de azért bele kell piszkálni.
10

Köszi

fobee000 · 2008. Jan. 8. (K), 02.14
Köszi szépen, holnap kipróbálom. Vertikálisra most nincs szükségem, az irányváltást meg majdcsak sikerül megoldani, az előzőnél is sikerült. Mégegyszer köszi
11

Táblázat problem

fobee000 · 2008. Jan. 9. (Sze), 21.09
Van egy kis problémám ezzel az új sliderrel. Szeretném ha ez is egy táblázaton belül jelenítené meg a képeket, addig még működne is, hogy berakom táblázatba de: a kiíratásnál csak akkor rakja a táblába, ha egy bizonyos "style-position" beállítást absolute-ról átírok relative-re, ami nem is lenne baj, csak a képek szétesnek, és kilógnak a táblából ha az rövidebb, mint a képernyő szélessége. Itt van a kód is, az utolsó sorok a lényegesek. Ha valaki tud kérem segítsen.

<Script>
///////////////////
//www.fortochka.com
//Alexander Babichev 2006 Coopyright
//This script is free for private use. Otherwise a $10 fee per a site is required.
//the script can be modified but the copyright notice should be right unchanged.
///////////////////


var pic = new Array()

function banner(name, width, link){
	this.name = name
	this.width = width
	this.link = link
   }

pic[0] = new banner('./images/orszagok/albania_nincs.gif',130,'http://www.sxc.hu/pic/m/r/re/remind/256228_sunflowers.jpg')
pic[1] = new banner('./images/orszagok/albania_nincs.gif',130,'http://www.sxc.hu/pic/m/r/re/remind/256228_sunflowers.jpg')
pic[2] = new banner('./images/orszagok/albania_nincs.gif',130,'http://www.sxc.hu/pic/m/r/re/remind/256228_sunflowers.jpg')
pic[3] = new banner('./images/orszagok/albania_nincs.gif',130,'http://www.sxc.hu/pic/m/r/re/remind/256228_sunflowers.jpg')
pic[4] = new banner('./images/orszagok/albania_nincs.gif',130,'http://www.sxc.hu/pic/m/r/re/remind/256228_sunflowers.jpg')


var speed = 20

var kk = pic.length
var ii
var hhh
var nnn
var myInterval
var myPause
var mode = 0



var imgArray = new Array(kk)
var myright = new Array(kk)

for (ii=0;ii<kk;ii++){
imgArray[ii] = new Image()
imgArray[ii].src = pic[ii].name
imgArray[ii].width = pic[ii].width

	hhh=0 
	for (nnn=0;nnn<ii;nnn++){
		hhh=hhh+pic[nnn].width
	}
	myright[ii] = hhh
}

function ready(){
	for (ii=0;ii<kk;ii++){ 
		if (document.images[ii].complete == false){
			return false	
			break
		}
	}
return true
}


function startScrolling(){
	if (ready() == true){		
		window.clearInterval(myPause)
		myInterval = setInterval("autoScroll()",speed)	
	}
}	
	

function autoScroll(){
	for (ii=0;ii<kk;ii++){
		myright[ii] = myright[ii] - 1
		
	if (myright[ii] == -(pic[ii].width)){
		hhh = 0
		for (nnn=0;nnn<kk;nnn++){
			if (nnn!=ii){
				hhh = hhh + pic[nnn].width
			}			
		}
		myright[ii] =  hhh
	}
		
				
		document.images[ii].style.right = myright[ii]
	}
	mode = 1
}

function stop(){
	if (mode == 1){
		window.clearInterval(myInterval)
	}
	if (mode == 0){
		window.clearInterval(myPause)
	}	
}

function go(){
	if (mode == 1){
		myInterval = setInterval("autoScroll()",speed)
	}
	if (mode == 0){
		myPause = setInterval("startScrolling()",3000)
	}	
}

myPause = setInterval("startScrolling()",3000)
</Script>
</head>
<body>





<Script>
document.write('<table align="center" bgcolor=#333333 border=2 width="800px"><tr><td>')
for (ii=0;ii<kk;ii++){

document.write('<a href = ' + pic[ii].link + ' target="mainFrame" ><img space=0 hspace=0 vspace=0 border=0 height=28 style=position:absolute;overflow:hidden;right:'+myright[ii]+'; src=' + pic[ii].name + ' onMouseOver=stop() onMouseOut=go()></a>')


}
document.write('</td></tr></table>')


</Script>
</body>


</html>
12

táblázat vs div

griphons · 2008. Jan. 10. (Cs), 10.21
A táblázatot nem muszály a scripten belül létrehozni, azt nyugodtan a <body> után beszúrhatod. De miért használsz táblát? Ezt nem értem. Használj <div> elemet. Elegánsabb, korszerűbb, nincs vele gond, főleg ha azt is absolute pozicionálod.
A másik megoldás, hogy az egész scroll.htm-et egy iframe-ben nyitod meg. (Az iframe-t célszerű divbe ágyazva pozicionálni az oldalra)
Valahogy így:

<div style="position: absolute; top: 20px; left: 100px; width: 800px; height: 74px; margin: 0px; padding: 0px; overflow: hidden;">
<iframe src="scroll.htm" style="width: 800px; height: 74px; margin: 0px; padding: 0px; overflow: hidden;" frameborder="0"></iframe>
</div>
Nálam gond szokott lenni ie alatt az iframe-mel, mert a nyomi ha kell ha nem kirak egy görgetősávot a kilógó képek miatt, ezért nagyobbra veszem az iframe-t mint a megjelenítendő képek hosszát, és az utolsó képet kitakarom egy felé rakott képpel, ami többnyire a site eleme, így nem látszik, ahogy megjelenik az új kép.
A div-et relatívra is veheted, az oldal közepére is állíthatod, stb.

Sok sikert!
13

Megyeget :)

fobee000 · 2008. Jan. 10. (Cs), 14.15
Köszi szépen a segítséget, sikerült összehoznom. Valóban, az ie hülyesége eléggé idegesítő a scrollbar-ral, ezt viszont sztem egyszerűbb megoldani egy scrolling="no" beállítással. Köszi mégegyszer