javascript hogyan tovabb?

gergely képe

sziasztok!

azt hiszem eleg egyszeru problemat sikerult megoldanom egy kis javascripttel, bannerek rotalasa, tehat minden oldalbetoltesnel mas flash banner jelenik meg.

function writeJS1(){
var str='';
str+='<object width="120" height="240"><param name="movie" value="http:\/\/example.com\/files\/1.swf"><\/param><embed src="http:\/\/example.com\/files\/1.swf" type="application\/x-shockwave-flash" width="120" height="240"><\/embed><\/object>';
document.write(str);
}
 
function writeJS2(){
var str='';
str+='<object width="120" height="240"><param name="movie" value="http:\/\/example.com\/files\/2.swf"><\/param><embed src="http:\/\/example.com\/files\/2.swf" type="application\/x-shockwave-flash" width="120" height="240"><\/embed><\/object>';
document.write(str);
}
 
function writeJS3(){
var str='';
str+='<object width="120" height="240"><param name="movie" value="http:\/\/example.com\/files\/3.swf"><\/param><embed src="http:\/\/example.com\/files\/3.swf" type="application\/x-shockwave-flash" width="120" height="240"><\/embed><\/object>';
document.write(str);
}
 
function writeJS4(){
var str='';
str+='<object width="120" height="120"><param name="movie" value="http:\/\/example.com\/files\/4.swf"><\/param><embed src="http:\/\/example.com\/files\/4.swf" type="application\/x-shockwave-flash" width="120" height="120"><\/embed><\/object>';
document.write(str);
}
 
var randomnumber = Math.round(Math.random()*3);
 
switch(randomnumber)
{
 case 0:
     writeJS1();
     break;
 case 1:
     writeJS2();
     break;
 case 2:
      writeJS3();
      break;
}

A kerdes az lenne, hogy ezt esetleg egy modulba erdemes beletenni, esetleg jquery-t hasznalni (nem ismerem), a lenyeg hogy ez most ez igy be van hanyva egy blokkba es ott futkos. Vagy jo ez igy es hagyjam :)
zserno képe

Szia Gergely!

- Ha csak az a feladat, hogy minden oldalbetöltésnél random banner legyen, akkor szerintem egyszerűbb lenne JS nélkül. Gondolj csak bele, hogy mi van azokkal az emberekkel, akiknél valamiért nincs JS támogatás.
Ezért én
a) sminkbe tenném
b) ha több smink is van, akkor pedig egy kis modulba, ami definiál egy blokkot és beleteszi a random bannert.
- Felesleges négy külön eljárást készíteni ugyanazért a feladatért. Ha megnézed, csak néhány karakterben térnek el egymástól. Ez ha jól tudom anti-pattern ;)
(ld. http://en.wikipedia.org/wiki/Copy_and_paste_programming)
- A jQuery pedig tök jó, ajánlom a megtanulását.

Üdv,
Ernő

0
0
gergely képe

koszonom a hozzaszolast, de felmerultek bennem tovabbi kerdesek
- hogyan lehet JS nelkul megjeleniteni minden bongeszoben hiba nelkul egy flasht?
- ma mar kinel nincs JS tamogatas? (ez inkabb kotozkodes, de kihagyhatatlan volt, bocsi :) )

0
0

---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.

zserno képe

- hogyan lehet JS nelkul megjeleniteni minden bongeszoben hiba nelkul egy flasht?

Ezt nem értem. Mi köze a JS-nek a a flash megjelenítéséhez?

- ma mar kinel nincs JS tamogatas? (ez inkabb kotozkodes, de kihagyhatatlan volt, bocsi :) )

Hidd el vannak még páran (kb. 10-20%). Pl. van aki direkt kikapcsolja. Egyébként ez egy alap dolog az "accessibility" érdekében - főleg ha Kristof a főnököd ;)

0
0
gergely képe

Ezt nem értem. Mi köze a JS-nek a a flash megjelenítéséhez?

mindossze annyi hogyha nem document.write-al irattam eddig ki barmilyen flash contet-et akkor pl ie6 osszeomlott ha egynel tobb flash content volt a siteon, pedig a szabvanyos (most epp nem talalom a linket az adobe oldalan) modon is probalkoztam beagyazni es probaltam peldat venni pl youtube-rol is.

0
0

---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.

pp képe

Ha már kifizették és örülnek neki akkor szerintem maradhat. Mondjuk referenciának ne add meg ezt az oldalt egy olyan cégnél, ahol webes programozókat keresnek. ;)

Teljesen felesleges ezt kliens oldalon csinálni, de ha már homár akkor vigyünk már egy kis értelmet az egészbe.

function kiir_n(){...}

helyett

function kiir(n){...}

Persze Kopipészt Mesternek az első megoldás tűnik egyszerűnek, csak éppen az nem karbantartható, bővíthető stb.
Erre szokták azt mondani, hogy műxik ;)

A függvényt (function) azért hívják függvénynek, mert a kimenet értéke/vagyis a viselkedése függ a paraméterektől. Pontosan azért vezették be ezt a nyelvi elemet, hogy ne kelljen 2000 soros kódot javítgatni állandóan, hanem csak egy pár soros tömören megfogalmazott, a lényegi részt tartalmazó programban találjuk meg könnyedén a hibákat. Gondolj bele, mi van akkor, ha jön még egy hirdető? Vagy van esetleg 1000. Vagy a kezdeti négy hírdetőből csak 3 fog hírdetni? (ez látható a Te kódodban is ;))
Vagy találsz egy hibát benne, azt hogyan javítod? Egy hiba n helyen javítódik...

pp

0
0
gergely képe

Sikerult osszehoznom egy ujabb verziot ez remelhetoleg mar nem antipattern:

<script type="text/javascript">
 
var text = '<object width="120" height="240"><param name="movie" value="http:\/\/localhost\/drupaltest\/banners\/';
 
var veletlen = Math.round(Math.random()*3);
 
var text2 = '.swf"><\/param><embed src="http:\/\/localhost\/drupaltest\/banners\/';
 
var text3 ='.swf" type="application\/x-shockwave-flash" width="120" height="240"><\/embed><\/object>';
 
document.write(text + veletlen + text2 + veletlen + text3);
</script>
0
0

---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.