Yangi tasvirlvrni yuklash.
Albatta bu biz xoxlagan narsa bulmasa xam Web saxifada tasvir ulchamini kanday olishni bilib kuygan mumkin. Bu Web saxifada tasvirlar almashinishi joriy kilishni istaymiz va buning uchun bizga src atributi kerak buladi. tegidagi xolatdagi kabi src atributi keltirilgan tasvirning manzilini saklaydi. Endi siz Java S ning 1.1 versiyasida allakachon Web saxifaga yuklangan tasvirga yangi adres berish imkoniyatiga egasiz. Va natijada tasvir Web saxifaga eski adresni yangi adres bilan almashtirgan xolda yuklanadi. Misol uchun ushbu yozuvni kuramiz:
Bu yerda img1.gif tasvir yuklanadi va Myimg nomini oladi. Navbatdagi satrda oldingi img1.gif tasvir allakachon yanig img2.gif bilan almashadi:
Documunt.MyImages.src = “img2.gif”;
Bunda yangi tasvir xar doim eski tasvir ulchamini oladi. Va siz endi uning ulchamini uzlashtiraolmaysiz.
Tasvirlarni ogoxlantiruvchi yuklanishi.
Bunday xarakatlarimizning kamchiliklaridan biri bulib, src ga yangi adres berilgandan sung unga mos tasvir yuklanish jarayoni boshlanishi xisoblanadi. Va bu oldindan kilinmaganligi sababli yangi tasvir internet orkali uzatilguncha va uz joyiga borguncha bir necha vakt utadi. Ayrim xollarda bu mumkin, lekin bunday tez – tez tuxtalishlarga kunish mumukin emas. Bu xolat bilan biz nima kilishimiz kerak? Albatta, ba masalaning yechimi bulib, tasvirlarni ogoxlantiruvchi yuklanishdan foydalanish xisoblanadi.
Buning uchun bu yangi Image obyektini yaratishimiz kerak. Navbatdagi satrlarni kurib chikamiz:
HiddenImg = new Images();
HiddenImg.sec = “img3.gif”;
1 – satrda yangi Image obyekti yaratiladi. 2 – satrda keyinchalik hiddenimg obyekti yordamida nomayon buladigan tasvir adresi kursatiladi. Kurib utganimizdek, src atributidagi yangi adres brauzerini ushbu berilgan adresli tasvirni yuklashga majbur kiladi. Shuning uchun, bizning misolimizdagi 2-satr bajarilganda img2.gif tasvir yuklana boshlaydi. Lekin HiddenImg ning uz nomidan kelib chikkan xolda (“yashirin tasvir”) brauzer yuklashni tamom kilgandan sung ekranda tasvir paydo bulmaydi. U fakat kompyuterning xotirasida kelgusi foydalanish uchun saklangan buladi. Ekranga tasvirni chikarish uchun biz
document.myImage.src = hiddenImg.src;
satridan foydalanamiz:
lekin endi tasvir xotiradan darrov olinadi va ekranda namoyon buladi. Shu tarika biz tasvirni ogoxlantiruvchi yuklanishni boshkardik.
Siz anik bir xodisaga reaksiya sifatida tasvirlarning almashinishidan foydalangan xolda ajoyib natija olishingiz mumkin. Masalan, sichkoncha kursatkichi saxifaning anik bir joyiga borganda tasvirni almashtirishingiz mumkin. Navbvtdagi misolda oddiy kilib sichkoncha kursatkichi tasvirga joylashtirilganida tekshirib kuring ( umuman bunda siz agar brauzeringiz fakatgina Java S 1.0 ni k-kuv.digan bulsa, xatolar xakida xabar olasiz, bundan kutilishni sungrok kurib chikamiz ).
Ukuvchi Java S 1.1 k-kuv.maydigan brauzerdan foydalanyapti
2 chi tasvir yuklatilmagan
Buning uchun biz Web saxifadagi xar bir tasvir uchun yangi komandalar yozishimiz kerak
Endi biz ushbu muommalarni yechuvchi skriptni tula variantini kurib chikamiz. Bu skript uzun bulganiga karamasdan siz uni bir yozib olishingiz bilan ushbu muommalar xakida kaygurmaysiz. Ushbu skript uzini ixchamligini saklab kolishi uchun 2 ta shartni kurib chikish kerak:
Berilgan skript barcha tasvirlarni pics massiviga joylashtiradi. Ushbu iassiv eng dastlab chakirilgan preload ( ) funksiyasi yordamida yaratiladi. Preload ( ) funksiyasini chakiruvi oddiygina kuyidagi kurinishda buladi.
Bu shuni anglatadiki, bu skript serverdan 2 ta img1.gif va img2.gif tasvirlarini yuklashi kerak. Ulardan birinchisini sichkoncha kursatkichi tasvir maydoniga tushmaganda xosil buladigan tasvirdir. Foydalanuvchi sichkoncha kursatkichini tasvirga joylashtirsa, u xolda 2 chi tasvir paydo buladi. Preload ( ) funksiyasini chakirish maboynida “ link 1 ” suzini 1 chi argument sifatida kursatamiz va Web saxifadagi Image obyektiga oldindan yuklatilgan 2 ta tasvirni berib kuyamiz. Agar siz bizning misolimizda < body > bulimini kurib chiksangiz usha link 1 nom bilan atalgan tasvirni topasiz. Biz tasvirni Web-saxifada xosil kilish uchun skriptni yozib yurmasdan uning tartib rakamidan emas balki uning nomidan foydalanamiz. On ( ) va off ( ) funksiyalarni ikkalasi xam onMouseOver va onMouseOut xodisalarni kayta ishlash programmasi vositasida chakiriladi.Image elementining uzi MouseOver va MouseOut xodisalarini bajarib bilmagani uchun biz bu tasvirlarni murojaat kilishimiz kerak. On ( ) funksiyasi kursatilgan tasvirdan boshkasini dastlabki xolatiga keltirishni kurishimiz mumkin. Aks xolda darrov bir necha tasvir belgilangan bulib koladi, shuning uchun buni kilish juda zarur. ( Gap shundaki agarda foydalanuvchi darxol darcha chegarasidan kursatkichni tasvirga joylashtirsa MouseOut xodisasi registratsiya kilinmaydi ).
Do'stlaringiz bilan baham: |