33
Бунда янги тасвир хар доим эски тасвир улчамини олади. Ва сиз энди
унинг улчамини узлаштираолмайсиз.
§ Тасвирларни огохлантирувчи юкланиши.
Бундай харакатларимизнинг камчиликларидан бири булиб, src га янги
адрес берилгандан сунг унга мос тасвир юкланиш жараѐни бошланиши
хисобланади. Ва бу олдиндан килинмаганлиги сабабли янги тасвир интернет
оркали узатилгунча ва уз жойига боргунча бир неча вакт утади.
Айрим
холларда бу мумкин, лекин бундай тез – тез тухталишларга куниш мумукин
эмас. Бу холат билан биз нима килишимиз керак? Албатта, ба масаланинг
ечими булиб, тасвирларни огохлантирувчи юкланишдан фойдаланиш
хисобланади.
Бунинг учун бу янги Image объектини яратишимиз керак. Навбатдаги
сатрларни куриб чикамиз:
HiddenImg = new Images();
HiddenImg.sec = “img3.gif”;
1 – сатрда янги Image объекти яратилади. 2 – сатрда кейинчалик hiddenimg
объекти ѐрдамида номаѐн буладиган тасвир адреси курсатилади.
Куриб
утганимиздек, src атрибутидаги янги адрес браузерини ушбу берилган
адресли тасвирни юклашга мажбур килади. Шунинг учун, бизнинг
мисолимиздаги 2-сатр бажарилганда img2.gif тасвир юклана бошлайди.
Лекин HiddenImg нинг уз номидан келиб чиккан холда (“яширин тасвир”)
браузер юклашни тамом килгандан сунг экранда тасвир пайдо булмайди. У
факат компьютернинг хотирасида келгуси фойдаланиш учун сакланган
булади. Экранга тасвирни чикариш учун биз
document.myImage.src = hiddenImg.src;
сатридан фойдаланамиз:
лекин энди тасвир хотирадан дарров олинади ва экранда намоѐн булади. Шу
тарика биз тасвирни огохлантирувчи юкланишни бошкардик.
Сиз
аник
бир
ходисага
реакция
сифатида
тасвирларнинг
алмашинишидан фойдаланган холда ажойиб натижа олишингиз мумкин.
Масалан, сичконча курсаткичи сахифанинг
аник бир жойига борганда
тасвирни алмаштиришингиз мумкин. Навбвтдаги мисолда оддий килиб
сичконча курсаткичи тасвирга жойлаштирилганида текшириб куринг (
умуман бунда сиз агар браузерингиз факатгина Java S 1.0 ни к-кув.диган
булса, хатолар хакида хабар оласиз, бундан кутилишни сунгрок куриб
чикамиз ).
Хато! Рухсат килинмаган гиперматн объекти.
Ушбу мисолнинг дастлабки коди куйидаги куринишда булади:
onMouseOver="document.myImage2.src='img2.gif'"
onMouseOut="document.myImage2.src='img1.gif'">
border=0>
Бунда навбатдаги муоммалар тугилиши мумкин:
Укувчи Java S 1.1 к-кув.майдиган браузердан фойдаланяпти
34
2 чи тасвир юклатилмаган
Бунинг учун биз Web сахифадаги хар бир тасвир учун янги командалар
ѐзишимиз керак
Биз шундай скриптга
эга булишни хохлар эдикки, кайсики уни Web
сахифаларнинг купчилигида яна ва яна ишлатиш имкони булса.
Энди биз ушбу муоммаларни ечувчи скриптни тула вариантини куриб
чикамиз. Бу скрипт узун булганига карамасдан сиз уни бир ѐзиб олишингиз
билан ушбу муоммалар хакида кайгурмайсиз. Ушбу скрипт узини
ихчамлигини саклаб колиши учун 2 та шартни куриб чикиш керак:
Do'stlaringiz bilan baham: