Цитата:
Naked:
хм, сделал, как было предложено во 2 посту, т.е. через яваскрипт, но никак не могу добится действия функции window.setInterval все ставлю, есть задержка, но потом сразу рисуется большая фотка.... т.е. плавности не добится...
|
Можно добиться, вот примерчик:
Код:
<script language="JavaScript">
var steep = 1;//По сколько пикселей
var timeout = 10;//Милисекунд, скорость.
function imgResize(obj, reszTo){
if (!window["reszdObj" + obj.name]) robj = window["reszdObj" + obj.name] = obj;
else robj = window["reszdObj" + obj.name];
robj.reszTo = reszTo;
robj.delta = ((obj.width > reszTo)? -steep : steep);
robj.My_reSize = function (objname){
ths = window["reszdObj" + objname];
if ( Math.abs(ths.width - ths.reszTo) > window.steep ){
ths.width += ths.delta;
setTimeout(window["reszdObj" + objname].My_reSize, window.timeout, objname);
}
}
robj.My_reSize(obj.name);
}
</script>
<table>
<tr>
<td><img src="1.jpg" border=0 width=50 name="i1" onMouseOver="imgResize(this, 100);" onMouseOut="imgResize(this, 50);"></td>
<td><img src="2.jpg" border=0 width=50 name="i2" onMouseOver="imgResize(this, 100);" onMouseOut="imgResize(this, 50);"></td>
<td><img src="4.jpg" border=0 width=50 name="i3" onMouseOver="imgResize(this, 100);" onMouseOut="imgResize(this, 50);"></td>
</tr>
</table>
Посмотреть можно здесь
http://ru.bir.ru/imgtest/resizetest.htm
Не буду просто изменять, если кто успел уже посмотреть, посему в догонку исправление, там нужно:
Код:
setTimeout(window["reszdObj" + objname].My_reSize, window.timeout, objname);
Что правильно по стандарту и нормально работает в ФФ, но криво в ИЕ, заменить для совместимости на:
Код:
setTimeout("window.reszdObj" + objname + ".My_reSize('" + objname + "');", window.timeout);
Так проверил, работает в ИЕ, ФФ и Опере.
Ну и исправленный вариант в действии
http://ru.bir.ru/imgtest/resizetest1.htm