Rohkem
Pildi allika muutmine jQuery abil
Minu DOM näeb välja selline:
<div id="d1">
<div class="c1">
<a href="#"><img src="img1_on.gif"></a>
<a href="#"><img src="img2_on.gif"></a>
</div>
</div>
Kui keegi klõpsab pildil, tahan, et pildi src muutuks <img src="imgx_off.gif">
, kus x
tähistab pildi numbrit 1 või 2.
Kas see on võimalik või pean ma CSS-i kasutama, et muuta pilte?
706
3
Võite kasutada jQuery's attr() funktsiooni. Näiteks kui teie
img
sildil on atribuutid
'my_image', siis teete seda nii:Seejärel saate oma pildi
src
i muuta jQuery abil nii:Selle kinnitamiseks
click
sündmuse külge võiksite kirjutada:Pildi pööramiseks võiksite teha nii:
Ma näitan teile, kuidas muuta pildi
src
, nii et kui te klõpsate pildil, siis see pöörleb läbi kõigi piltide, mis on teie HTML-is (teied1
id jac1
klassis konkreetselt)... kas teil on 2 või rohkem pilte teie HTML-is.Ma'näitan ka, kuidas pärast dokumendi valmimist lehte puhastada, nii et esialgu kuvatakse ainult üks pilt.
Täielik kood
Jagamine
Looge pilte sisaldavate linkide koopia (märkus: lisafunktsionaalsuse lisamiseks võite kasutada ka linkide href atribuuti... näiteks [kuvada iga pildi all töötav link][1]):
Kontrollige, mitu pilti oli HTML-is ja looge muutuja, et jälgida, millist pilti näidatakse:
Muutke dokumenti's HTML nii, et näidatakse ainult esimest pilti. Kustutage kõik teised pildid.
Siduda funktsioon, mis käitleb, kui pildi lingile vajutatakse.
Ülaltoodud koodi keskmes on
++$imgShow % $length
kasutamine pilte sisaldava jQuery objekti läbimiseks.++$imgShow % $length
suurendab kõigepealt meie loendurit ühe võrra, seejärel muudab see number, kui palju pilte on. See hoiab saadud indeksit tsükliliselt alates0
kunilength-1
, mis on objekti$images
indeksid. See tähendab, et see kood töötab 2, 3, 5, 10 või 100 pildiga... läbides iga pilti järjekorras ja alustades uuesti esimese pildi juures, kui viimane pilt on saavutatud.Lisaks kasutatakse
.attr()
piltide "src" atribuudi saamiseks ja seadmiseks. Et valida elemente objektist$images
, sean$images
vormi$(selector, context)
abil jQuery kontekstiks. Seejärel kasutan.eq()
, et valida ainult see element, millel on konkreetne indeks, millest ma olen huvitatud.[jsFiddle näide 3 pildiga][5]
Võite salvestada
src
s ka massiivi.[jsFiddle näide 3 pildiga][6]
Ja siin'on, kuidas lisada hrefs ankurdusmärkidest piltide ümber:
[jsFiddle näide][7]
Seda saab teha ka jQueryga sel viisil:
Teil võib olla tingimus, kui pildiallika jaoks on mitu seisundit.