[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: перемещение картинки
_Dimarik__
необходимосделать так, чтобы при клике по картинке, она переместилась в центр окна и расположилась как бы над всей страницей. Причём структура страницы не должна измениться. Как это можно сделать?



Спустя 10 минут, 3 секунды (15.08.2010 - 21:37) Slays написал(а):
делаешь позицию абсолютной и задаешь координаты середины окна

Спустя 1 час, 34 минуты, 57 секунд (15.08.2010 - 23:11) dr_Lev написал(а):
Чтоб не изменилась структура и не пополз дизайн, лучше добавь еще одну картинку и поставь ее по центру:

<script type="text/javascript">
function
ShowImg(img){
document.write("<img
src=\""+img.src+"\"
width=\"800\"
height=\"600\"
stye=\"
position:absolute;
top:50%;
left:50%;
margin:-300 0 0 -400;\"
onclick=\"this.parentNode.removeChild(this);\" />");
}
</script>
...
<img src="..." onclick="ShowImg(this)" />
...


P.S. Писал на колене, прошу прощения за возможные ошибки...

Спустя 12 часов, 15 минут, 55 секунд (16.08.2010 - 11:27) _Dimarik__ написал(а):
ну я написал почти так, но не всё. вот эти строчки я не понял.
в результате
	function PhotoCenter(N, width, path)
{
N = parseInt(N);
width = parseInt(width);
document.getElementById(N).width = width;
document.getElementById(N).src = path;
document.getElementById(N).style.position = 'fixed';
document.getElementById(N).style.top = '50%';
document.getElementById(N).style.left = '50%';
}

в результате у меня не по центру а в правом углу отображается.
можете пояснить про это?
margin:-300 0 0 -400;\"
onclick=\"this.parentNode.removeChild(this);\" />");
зачем поле, если мы и так указали что top=50% left=50% ???
и как это можно в мою функцию вставить? .....style.margine-left=-300? например?

Спустя 37 минут, 29 секунд (16.08.2010 - 12:05) Slays написал(а):
position:absolute;

Спустя 6 часов, 16 минут, 43 секунды (16.08.2010 - 18:22) _Dimarik__ написал(а):
то же самое. только при прокрутке смещается.

Спустя 1 час, 26 минут, 1 секунда (16.08.2010 - 19:48) _Dimarik__ написал(а):
	function PhotoCenter(N, width, height, path)
{
N = parseInt(N);
width = parseInt(width);
height = parseInt(height);
document.getElementById(N).width = width;
document.getElementById(N).src = path;
document.getElementById(N).style.position = 'absolute';
document.getElementById(N).style.top = '50%';
document.getElementById(N).style.right = '50%';
document.getElementById(N).style.marginLeft = width / 2;
document.getElementById(N).style.marginTio = height / 2;
document.getElementById(N).onclick = function (){
this.parentNode.removeChild(this);
}
document.appendChild(document.getElementById(N));

}

Проблемы:
1. фотография помещяется не по центру. Она скраю справа. Даже черезчур справа (появилась горизонтальная полоса прокрутки даже)
2. при щелчке на фотографию, полученную с помощью функции PhotoCenter, фотография не помещаятся на предыдущее место, а исчезает.
3. В IE вообще некорректно работает. То есть. При щелчке на фотографию функция PhotoCenter работает так, что фотка вообще исчезает.
На всякий случай ещё раз поясню задачу. Имеется фотография. При щелчке на неё она должна переместиться в центр экрана (причём дизайн страницы не должен измениться). она должна оказаться как бы над страницей. Потом при щелчке на эту фотку, которая над страницей, она должна вернуться на своё прежнее место. функцию написал может и криво... javascript совсем недавно учить начал.. подскажите кто чем может.. любой совет окажется полезным

Спустя 18 часов, 53 минуты, 38 секунд (17.08.2010 - 14:41) _Dimarik__ написал(а):
и ещё. как сделать так чтобы увеличение картинки происходило ПЛАВНО???
и ещё. если мы кликнули по картинке №1, то она должна увеличиться. Если сразу после этого кликнули по картинке №2, то картинка №1 должна уменьшиться до первоначальных размеров, а картинка №2 увеличиться. А если кликнули в свободную область, то картинка №2 должна уменьшиться???
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.