Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Подгрузка изображений при клике


Автор: Luxer 12.7.2007, 00:55
Хочу создать вот что: есть маленькая картинка, если нажать на нее мышкой- она станет большой(те подгрузится на нее место другая картинка с более лучшим разрешением) Те это как в интернет-магазине для просмотра укрупненной версии фото. Если нажать на картинку еще раз- она вернет свои преждние размеры. 
Проблема в том, что на странице могут быть 20 таких маленьках фоток, каждая из которых имеет свое имя. Как можно сделать универсальную ф-цию, чтобы она считывала имена картинок и сама догружала нужную увеличенную копию?
Я делал вот так- просто брад фото, и менчл его размер(такой вариант плох тем что если много фоток на странице,то они загрузятся все сразу, что сильно отражается на трафике.
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!-- //
function bigger()
{var d=document
var w=d.mypict.width
if(w<500)
    { d.mypict.width=w+500;
    d.mypict.src="077.jpg"
    settimeout("bigger()",500)
    }

else{ d.mypict.width=w-500;
    d.mypict.src="077.jpg"
    settimeout("bigger()",500) }}
    //-->

</script>
</head>

<body  text="#00ff00"  >
<img src="077.jpg" width="100"  border="2"  name="mypict" onClick="bigger()">
</body>
</html>

Автор: stup 12.7.2007, 12:55
Я вижу здесь только одну картинку. Вам нужно менять картину, или увеличивать/уменьшать ее?

Автор: SelenIT 12.7.2007, 18:54
Luxer, часто использумый вариант - использовать для большой картинки и превьюшки похожие имена файлов (например, для превьюшки добавлять в конец имени подчеркивание или вообще хранить их под одинаковыми именами, но в разных папках). А по клику на маленькую картинку просто брать ее src, делать в нем нужную замену и присваивать src большой картинки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)