Kviklegar hreyfimyndir!
Renndu músinni þinni yfir flöskuna!
Renndu henni af!
Ert þú tilbúinn að búa til sömu áhrif?
Eftir þessa lexíu átt þú að kunna að:
Athugaðu: Ef þú ert ekki með skjölin úr síðustu lexíu, þá getur þú sótt eintök af þeim núna.
Í þessari lexíu ætlum við að sýna þér hvernig á að búa til áhrif eins og þú hefur að líkindum séð á öðrum vefjum -- þar sem vefmynd breytist ef maður rennir músinni yfir hana eða smellir á hana. Til dæmis hér fyrir neðan, þá bólgnar örin ef músinni er rennt yfir hana og breytist í hnapp sem er niðri ef smellt er á hana:
Þegar búið er að læsa hnappinn niður, þá þarf að endurhlaða síðuna til að endurstilla hann.
Algengasta notkun á þessum áhrifum er að setja líf í stiklumyndir sem virka eins og hnappar, þannig að notandinn sjái að hluturinn undir músinni er eitthvað sem er þess virði að smella á.
Þú er frjáls að nota það sem fram kemur í þessari lexíu til að láta hnappa hoppa og skoppa, en það er okkar staðfasta skoðun að slíkt bætir ekki neitt upplýsingarnar sem fram koma á síðunni. Þess vegna ætlum við að nota tækifærið og sýna dæmi um hvernig nota má þetta á þann hátt sem skiptir máli.
Þú skalt líka hafa annað í huga. Fyrir hverja mynd sem breytist þegar mús rennur yfir hana þarf að sækja tvær mismunandi myndir og, eins og þú sérð bráðum, þá verður það að gerast áður en HTML kóðinn fyrir síðuna er sóttur. Þetta getur því teygt á tímanum sem það tekur að hlaða síðuna og setja hana upp og á meðan verður notandinn að horfa á tóman skjáinn.
mouseOver myndskipting virkar nokkurn vegin svona:
ATHUGAÐU: Til að þetta virki rétt, þá verða myndirnar að vera af sömu hæð og breidd.
Hér fyrir neðan er sýnd grunnuppsetning fyrir hnappaskipti. Sú aðferð sem notuð er á þessari síðu hefur nokkur aukaskref sem þú er hvattur til að skoða með því að líta á HTML kóðann fyrir þessa síðu.
| JavaScript Myndaskipting | |
|---|---|
| HTML kóði | útskýring |
|
Dæmigert upphaf HTML síðu sem er með JavaScrip föll í <HEAD>...</HEAD>. svæðinu. |
if (document.images) { |
Þetta er próf til að gá hvort vefskoðarinn skilur myndgeymlufallið sem þarf að nota við myndskipti. Ef þetta gefur neikvætt svar, þá ættum við að sleppa afganginum af kóðanum og sýna bara fastar myndir. |
var hnappur1_upp = new Image(); hnappur1_upp.src = 'hnappur_upp.gif"; |
Við búum til breytu (e. variable) sem er af þeirri gerð sem stendur fyrir myndir. Seinni línan setur slóðina að fyrstu myndinni á src eigindið . |
var hnappur1_yfir = new Image(); hnappur1_yfir.src = 'hnappur_yfir.gif"; |
Við búum til aðra myndarbreytu sem setur slóðina að annarri myndinni á src eigindið. |
function yfir_hnappur() {
if (document.images) {
document["hnappurEitt"].src = hnappur1_yfir.src
}
}
|
Þegar kallað er á þetta fall, þá athugar það að vefskoðarinn geti skipt um myndir. Ef svo er, þá skoðar það lista yfir vefmyndir sem geymdar eru í skjalhlutnum og setur á hann breytuna sem vísar í myndina sem á að sjást þegar músin er yfir. |
function upp_hnappur() {
if (document.images) {
document["hnappurEitt"].src = hnappur1_upp.src
}
}
|
Þetta fall virkar næstum eins, nema það setur upp upprunalegu myndina. |
//--> </SCRIPT> <body> : : : |
Lokin á JavaScript kóðanum og nú byrjar HTML kóðinn sem sýnir síðuna sjálfa. |
<A HREF="file.html"
onMouseOver="yfir_hnappur()"
onMouseOut="upp_hnappur()">
<img src="hnappur_upp.gif" alt="smelltu á mig"
width="XX" height="YY" name="hnappurEitt"
border=0>
</a>
|
Skipuninn sem notuð er til að hlaða inn fyrstu útgáfunni af myndinni (upp myndina). Athugaðu að innan <img...> skipunarinnar er búið að gefa myndinni einstakt nafn, hnappurEitt, sem við getum notað til að vísa í hana í kóða eins og document["nafn hnapps"] Í stiklunni er JavaScrip atbuðrastjóri, onMouseOver sem setur af stað kall í falllið okkar og skiptir í niðri myndina þegar músin er yfir henni. Á sama hátt virkar onMouseOut atburðurinn til að kalla á hitt fallið og skipta aftur um mynd þegar músin fer af myndinni.. |
Nú skulum við skoða hvernig þetta virkar á eldfjallavefnum okkar. Frekar en að setja líf í einhverja leiðinlega hnappa, þá ætlum við að búa til eftirlíkingu af smásjá!
Sem hluta af Innganginum, þá ætlum við að búa til nýjan hluta sem lýsir steinasýnum úr eldfjalli og sýnum mynd af einu sem kallast vikur. Við ætlum að nota JavaScript til að breyta myndinni þannig að það sjáist sneiðmynd í gegnum vikur í smásjánni. Með því að færa músina af og á myndina þá getum við borðið myndirnar saman (Já-já, við viðurkennum að þetta er ekkert frumlegra en að setja líf í hnappa og að það væri hægt að fá sömu áhrif með því að setja myndirnar hlið við hlið...)
<SCRIPT LANGUAGE="JavaScript">
<!--
if (document.images) {
var pum1 = new Image();
pum1.src = "../myndir/pumice.gif";
var pum2 = new Image();
pum2.src = "../myndir/pumice2.gif";
}
function show_rock() {
if (document.images) {
document["pum"].src = pum2.src;
}
}
function hide_rock() {
if (document.images) {
document["pum"].src = pum1.src;
}
}
//-->
</SCRIPT>
ATHUGAÐU: Við bjuggum til tvær geymslubreytur sem standa fyrir hvora mynd fyrir sig. Við köllum á show_rock() fallið til að sýna smásjármyndina í myndarskjalinu pumice2.gif og hide_rock() falllið til að fá upprunalegu myndina aftur. Þessir atburðir eru settir á mynd sem kallast pum. Næst skoðum við HTML kóðann.
sem maðurinn hefur fylgst með.setjum við nýjan hluta um gjósku. Þar verður myndin af vikrinum og JavaScript kóði til að skipta um myndir:
<A NAME="vr"><h3 align=center>Gjóska</h2></A>
Vísindamenn skoða berg við margvísleg skilyrði.<p>
<b>Vikur</b> er ein tegund bergs sem verður til við mikil
<A HREF="inngang.html"
onClick="alert('Færðu músina yfir bergsýnið til að sjá stækkaða mynd.');
return false"
onMouseOver="show_rock(); window.status='lýsing á sprengiskala';
return true"
onMouseOut="hide_rock()">
<IMG SRC="../myndir/pumice.gif" align=right ALT="mynd af vikri"
WIDTH="220" HEIGHT="170" hspace=12 vspace=12 name="pum" border=0></A>
sprengigos. Heit, freyðandi <b>bergkvika</b> kólnar hratt og
skilur eftir sig berg með mörgum snúnum loftgöngum. Vikur er þess vegna
mjög léttur.
<p>
Ef þú rennir músinni yfir myndina, þá getur þú séð hvernig vikur lítur út
í smásjá.
<p>
<b>Sneiðmynd</b> er sneið af bergi svo þunn að ljósið í smásjá nær að
lýsa í gegnum hana og þannig getum við séð uppbyggingu steinsins.
<p>
Snúnu hólfin hér eru lofthólfin sem festust innan í berginu þegar það
þeyttist upp úr eldfjallinu.
<br clear=right>
ATHUGAÐU: Farðu sérstaklega vandlega með <img...> skipunina; hún er orðin frekar flókin! Nú þarf hún að sjá um mouseOver atburðinn, sýna texta á stöðulínu (eins og við gerðum í lexíu 27a), og hoppa á nálægt akkeri ef notandinn smellir á myndina (en heldur sig á sömu síðu). Myndin er einnig sett til hægri á síðuna og það er dálítið pláss sett í kringum hana (hspace og vspace)
Berðu þínar vefsíður saman við þetta dæmi um hvernig þær ættu að sjást. Ef þínar síður eru ekki eins og dæmið eða stiklutextarnir virka ekki rétt, þá skaltu endurskoða textann sem þú ritaðir í textaritlinum. Athugaðu að JavaScrip er mjög næmt fyrir innsláttarvillum -- ein gæsalöpp eða semikomma sem vantar skemmir alla síðuna! Athugaðu líka að þú hafir ekki nein auka LÍNUSKIPTI í JavaScript kóðanum
Upprifjunarefni fyrir þessa lexíu:
Finndu myndir sem þú getur notað til að skipta; mundu að þær verða að vera af nákvæmlega sömu stærð! Notaðu kóðann okkar til að búa til sömu áhrif á síðunum þínum. Hvað þyrfti að gera til að láta tvær mismunandi myndir skipta svona? Af hverju væri þessi aðferð ekki eftirsóknarverð ef síðan þín væri með 10 myndir sem allar skitu um ef músin færi yfir?
Athugaðu að þú getur líka skrifað JavaScript föll sem framkvæma ýmsar skipanir við músarsmelli:
<a href="file.html" onMouseOver="yfir_hnappur()" onMouseOut="upp_hnappur()" onClick="doButtonClick()"> <img src="hnappur_upp.gif" alt="smelltu á mig" width="XX" height="YY" name="hnappurEitt" border=0> </a>
svo framarlega sem þu hefur skrifað JavaScrip fall í <HEAD>...</HEAD> svæðið sem bregst við þessum atburði
Það er kominn tími til að lífga uppá síðurnar með gagnvirkum FORMUM...
Námsefnisgerð í HTML:
Lexía 27d: Dálítið af JavaScript : Skipt um mynd
©1994-2000 Maricopa Center
for Learning and Instruction (MCLI)
Maricopa Community Colleges
Tengiliður MCLI er Alan Levine
Sendu athugasemdir til alan.levine@domail.maricopa.edu
eða gaui@mmedia.is
URL: http://www.vma.is/tut/tut27d.html
Þýtt með leyfi höfundar