Diskuze: Rollovers

JavaScript JavaScript Rollovers

Avatar
Matej
Člen
Avatar
Matej:

Zdravím , rad by som sa spytal , co je zle na tychto dvoch skriptov , oba su zo javascript zdroja ale ani jeden mi nefunguje.
skript 1 :

<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE> rollover </TITLE>
<script language=javascript text="text/javascript">
if(document.images)
{Stena=new Image
 rodina=new Image

 Stena.src="Stena.jpg"
 rodina.src="rodina.jpg"}
else
{Stena=""
 rodina=""
 document.arrow=""}
</script>
</HEAD>
<BODY>
<a href="youtube.com"
onMouseRollover="document.arrow.src=rodina.src";
onMouseout="document.arrow.src=Stena.src">
<img src="Stena.jpg"></a>
</BODY>
</HTML>

a druhy:

<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE> test </TITLE>
<script language=javascript type="text/javascript">
Image1=new Image
Image1.src="Stena.jpg"
Image2=new Image
Image2.src="rodina.jpg"
function swap()
{document.imageflip.src=Image2.src;return true;}
Function swapback()
{document.imageflip.src=Image1.src;return true;}
</script>

</HEAD>
<BODY>
<a href="www.youtube.com"
onMouseOver="swap()";
onMouseOut="swapback()">
<img src="stena.jpg"></a>
</BODY>
</HTML>

V prvom som skusal aj namiesto onMouseRollover iba onMouseover.
Za odpovede dakujem.

 
Odpovědět 4.12.2013 21:09
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matej
Zdeněk Pavlátka:

6 středníků ve dvou kódech? A pak se v tom má počítač vyznat...

Nahoru Odpovědět 4.12.2013 21:41
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Matej
Drahomír Hanák:

Co je na tom špatně:

  • definuejš globální proměnné
  • pokud chceš změnit kurzor, použij CSS
  • změna kurzoru na vlastní obrázek není dobrý nápad (když už tak použij definované kurzory)
  • událost mouse rollover neexistuje
  • atribut "language" je zavržený
  • document.images je pole. Výraz if ([]) se vždycky splní. Mělo by to být spíš if (document.ima­ges.length) ale ani tak by nedávala ta podmínka v tomhle případě smysl
Editováno 4.12.2013 21:55
 
Nahoru Odpovědět 4.12.2013 21:52
Avatar
Matej
Člen
Avatar
Odpovídá na Drahomír Hanák
Matej:

Drahoš - neviem ci som nepochopil ja tvoju odpoved alebo si nepochopil co som chcel urobit
Ja nechcem zmenit svoj kurzor , ja chcem dosiahnut to , aby sa obrazok ked nanho ukazem myskou zmenil na iny obrazok , jeden z tychto kodov bol priamo v knihe (Javascript pre world wide web , myslim ze vydanie z roku 2004-zhanam najnovsie-) a druhy bol v nejakom javascript tutorialy (nie som si isty ale) .
Inak celkovo som nepochopil aj par vyrazov (napr zavrzeni, ale to bude asi "jazykovou barierov" ale samozrejme viem co je premenna , ale to globalne som nejako nepochopil ), v javascriptu sa venujem okolo tyzdnu a pol tak ak by sa dalo nehovor prosimta moc "odborne" .
Dakujem za odpovede.

// nasiel som aj uryvok z tej knihy (alebo ako to povedat)
http://www.chalcedony.com/…t/page5.html

Editováno 4.12.2013 22:23
 
Nahoru Odpovědět 4.12.2013 22:22
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Matej
Drahomír Hanák:

Deklaruj proměnné s klíčovým slovem var. var img = new Image(); Když to neuděláš, tak se automaticky přidají do globálního kontextu, což je špatně.

Ta kniha je prostě zastaralá, JavaScript se od té doby hodně vyvíjel a stále se vyvíjí. Radši si přečti http://www.itnetwork.cz/…ky-tutorialy ;)

Změnu po najetí obrázku uděláš snadno:

<script type="text/javascript">
        function zmenObrazek(element, novyObrazek) {
                element.src = novyObrazek;
        }
</script>

<img src="http://www.itnetwork.cz/images/logo_sk.png" onmouseover="zmenObrazek(this, 'http://www.itnetwork.cz/images/logo_cz.png')" onmouseout="zmenObrazek(this, 'http://www.itnetwork.cz/images/logo_sk.png')" />

Což není nejlepší cesta, ale funguje to.

Vůbec nemusíš vytvářet instance Image, bohatě stačí, když nastavíš element.src na adresu obrázku. Klíčové slovo this je v tomhle případě HTML element (tedy samotný obrázek)

Tím "zavržené" jsem myslel deprecated - v dalších verzích bude úplně odstraněn.

 
Nahoru Odpovědět 4.12.2013 22:51
Avatar
Matej
Člen
Avatar
Odpovídá na Drahomír Hanák
Matej:

Dik , prejdem tie tutorialy + nevedel by si mi poradit nejaku aktualnu literaturu o javascripte? (vsetky knihy ktore som doteraz nasiel neboli aktualne , / pozrem sa este po novsej verzii knihi ktoru som postol skorej)
A rad by som sa spytal otazku :
Rad by som sa venoval webom , takze oplati si ma hladat literaturu cisto o javascripte na weby? (ako kniha ktoru som spomenul skorej) Alebo mam prejst celkov literaturu javascriptu.
Dakujem za odpovede.

 
Nahoru Odpovědět 4.12.2013 23:16
Avatar
Matej
Člen
Avatar
Matej:

Najlepsie by bolo , ak by si vedel poradit literaturu , kde je vysvetleny krok po kroku :) (neislo mi editnut post :/)

 
Nahoru Odpovědět 4.12.2013 23:24
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Matej
Drahomír Hanák:

Literaturu ti bohužel neporadim. Mám jedinou knihu o JavaScriptu JavaScript a AJAX od Johna Resiga (tvůrce jQuery) Moc tam nepopisuje základní konstrukce v JS. Probírá hlavně manipulaci s DOM a AJAX. Dnes už je v hodně směrech taky neaktuální. Hodně záleží na tom, co chceš dělat. V JS toho jde hodně (webové aplikace, servery, mobilní a desktopové aplikace ...) Základ je ale stejný a ten se dá celkem snadno naučit z webu.

 
Nahoru Odpovědět 4.12.2013 23:34
Avatar
Matej
Člen
Avatar
Odpovídá na Drahomír Hanák
Matej:

Ako som uz povedal rad by som sa venoval webom (vytvaranie webov - planujem ist na PhP).
Preto by som rad vedel ci mam hladat literaturu cisto zameranu na weby (vytvaranie webov) alebo nejaku vseobecnu.
Co sa tyka zakladov , tie by som ako tak mal vediet(premenne , funkcie bez a s argumentom , for , switch atd) ale napriklad nepochopil som tu funkciu s argumentom co si postol .

<script type="text/javascript">
       function zmenObrazek(element, novyObrazek) {
               element.src = novyObrazek;

napriklad nechapem preco definujes src elemennt(argument 1) a ako argument 2 (novyobrazek)
a potom vyznam toho "this"
Html som preberal z Codeacademy/w3scho­ol ale s "this" som sa nestretol
Dakujem za odpovede

 
Nahoru Odpovědět 4.12.2013 23:41
Avatar
mkub
Redaktor
Avatar
Odpovídá na Matej
mkub:

tak sa zacni najskor venovat designu - HTML+CSS a az potom, ked to zvladnes, mozes pristupit k niecomu pokrocilejsiemu, ako je programovanie webov, ako je napr. PHP

 
Nahoru Odpovědět 5.12.2013 0:28
Avatar
Matej
Člen
Avatar
Matej:

mkub- htmlko a cssko mam prebrane (pisal som to hore/ asi som sa zle vyjadril , tou literaturou na weby som myslel javascript literaturu zameranu csito na weby)

Misaz- Diky! :)

 
Nahoru Odpovědět 5.12.2013 10:00
Avatar
mkub
Redaktor
Avatar
Odpovídá na Matej
mkub:

a co sa tyka kniziek, tak v nich nenajdes uplne vsetky triky, ale tu knizku, co ti odporucil Misaz ti aj ja odporucam, dalsie knizky, co ti mozu pomoct su
javascript:
http://knihy.cpress.cz/…yvojare.html

a hlavne sa nespoliehaj iba na literaturu, literatura by mala byt iba odrazovy mostik a taky tahacik, ked nieco nebudes vediet co jak

 
Nahoru Odpovědět 5.12.2013 10:29
Avatar
Matej
Člen
Avatar
Odpovídá na mkub
Matej:

takze http://knihy.cpress.cz/…ript-d4.html je uz doma :)
mkub- diky! tu knizku o javascripte som videl tiez v knihkupectve takze si ju urcite obstaram

Inak , co sa tyce PHP , neviete ci sa oplati (v buducnosti) ucit PhP z codeacademy?
Dik za odpovede

Editováno 5.12.2013 16:01
 
Nahoru Odpovědět 5.12.2013 16:01
Avatar
Michal Martinek
Redaktor
Avatar
Odpovídá na Matej
Michal Martinek:

CodeAcademy není vůbec špatné, ale spíše ti to ukáže základy syntaxe ale správné použití nebo příklady na různých projektech ne. Projeď si tady první řadu PHP a začátek OOP a potom se koukni tam a uvidíš, že všechno už ses naučil a navíc na lepších příkladech a víš aspoň částečně, jak se to používá.

 
Nahoru Odpovědět  +1 5.12.2013 17:46
Avatar
done
Člen
Avatar
Odpovídá na Matej
done:

jQuery můžeš trénovat na tomto oficiálním webu jQuery, kde to mají opravdu pěkně udělané: http://try.jquery.com/

 
Nahoru Odpovědět 5.12.2013 18:11
Avatar
Matej
Člen
Avatar
Matej:

Co sa týče http://knihy.cpress.cz/…ript-d4.html , zistil som ze je aj 2013 verzia , mam si zaobstarat tu? alebo je to v podstate to iste?

 
Nahoru Odpovědět 11.12.2013 21:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.