Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2011, 10:43
Аспирант
Отправить личное сообщение для vyrtime Посмотреть профиль Найти все сообщения от vyrtime
 
Регистрация: 09.06.2011
Сообщений: 32

Масштабирование, zoom
Для IE есть такой метод как zoom():
http://javascript.gakaa.com/style-zoom.aspx
Он позволяет изменять масштаб элемента, а также элементы-потомки, т.е. входящие в этот элемент.

Существует ли такой метод/функция/плагин в js, или jquery, позволяющий изменять масштаб элемента?

В общем дело в том, что у меня существует скрипт, и он работает только на IE, с использованием метода zoom:
var count = 100;
function izoom(w){
  if (w > 0)
    count += count >= 300 ? 0 : 20;
  else if (w < 0)
    count -= count <= 20 ? 0 : 20;
  else
    count = 100;
  document.getElementById(ImageArea).style.zoom = count + "%";
  return false;
}

скрипт работает при клике на 1 из изображений(увеличить или уменьшить):
<!--Увеличить--><img src="mn.gif" width="25" height="29" border="0" onClick="parent.frames.imageFrame.izoom(1)" alt="Увеличить масштаб" style="vertical-align: top; cursor: pointer" />
<!--Уменьшить--><img src="pl.gif" width="25" height="29" border="0" onClick="parent.frames.imageFrame.izoom(-1)" alt="Уменьшить масштаб" style="vertical-align: top; cursor: pointer" />


в самом документе есть фрейм:
<iframe style="z-index: 3;" src="frame.php" width="768" height="550" id="imageFrame" name="imageFrame" frameborder="0" scrolling="No"></iframe>


код самого фрейма:
<span id="ImageArea" style="position: absolute; left: 0; top: 0; height: 100%; width: 100%;" name="ImageArea">
<div id="1" title="" style="left: 75px; top: 17px; width: 22px; height: 22px; font-size: 20px; line-height: 22px;">1</div>
<div id="2" title="" style="left: 128px; top: 16px; width: 22px; height: 22px; font-size: 20px; line-height: 22px;">2</div>
<div id="3" title="" style="left: 207px; top: 60px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">3</div>
<div id="4" title="" style="left: 246px; top: 80px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">4</div>
<div id="5" title="" style="left: 275px; top: 100px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">5</div>
<div id="6" title="" style="left: 305px; top: 111px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">6</div>
<div id="7" title="" style="left: 462px; top: 200px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">7</div>
<div id="7" title="" style="left: 342px; top: 136px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">7</div>
<div id="8" title="" style="left: 382px; top: 158px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">8</div>
<div id="9" title="" style="left: 521px; top: 235px; width: 20px; height: 20px; font-size: 20px; line-height: 20px;">9</div>
<div id="10" title="" style="left: 551px; top: 257px; width: 25px; height: 20px; font-size: 20px; line-height: 20px;">10</div>
<div id="11" title="" style="left: 593px; top: 282px; width: 25px; height: 20px; font-size: 20px; line-height: 20px;">11</div>
<img src="1.jpg" alt="" name="Image" usemap="#Map" id="Image" style="cursor: move" title="123" onload="this.alt='';init();" border="0" height="812" width="1214">


Возможно, есть какое-либо решения для моего "случая"? Т.е. чтобы работало во всех браузерах?

UPD: Если что-то непонятно - скажите/спросите, наверное, вопрос сложный, но хотелось бы хоть какие-нибудь идеи услышать

Последний раз редактировалось vyrtime, 12.10.2011 в 11:20.
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2011, 11:20
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

http://www.professorcloud.com/mainsite/cloud-zoom.htm
Ответить с цитированием
  #3 (permalink)  
Старый 12.10.2011, 12:28
Новичок на форуме
Отправить личное сообщение для youmay Посмотреть профиль Найти все сообщения от youmay
 
Регистрация: 10.10.2011
Сообщений: 8

DreamTheater,
Там увеличения изображения не происходит. Просто при наведении показывается изображение большего размера (так называемая лупа).

Вот эти ссылки больше подходят:
http://www.jdstiles.com/java/scrollers/scroll_zoom.html
http://www.ajax-zoom.com/index.php?cid=examples

А вот сайты на которых свои собственные реализации:
http://www.asos.com/ASOS/ASOS-Leathe...id=1725386&r=2
http://www.td220.ru/xlebopechki/moulinex/ow-2000/

А по теме, лучше вместо zoom увеличивать ширину и высоту изображения.
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2011, 12:47
Аспирант
Отправить личное сообщение для vyrtime Посмотреть профиль Найти все сообщения от vyrtime
 
Регистрация: 09.06.2011
Сообщений: 32

youmay,
спасибо за ссылки, сейчас буду смотреть/изучать

было бы хорошо увеличивать изображение по высоте и ширине, но дело в том, что прямо на изображении есть дивы с абсолютным позиционированием в виде цифр, и необходимо, чтобы они увеличивались совместно с изображением
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2011, 14:37
Новичок на форуме
Отправить личное сообщение для youmay Посмотреть профиль Найти все сообщения от youmay
 
Регистрация: 10.10.2011
Сообщений: 8

дивы можно сдвигать на то значение, на которое увеличилось изображение.

Как раз на сайте http://www.asos.com/ASOS/ASOS-Leathe...id=1725386&r=2, так и сделано. Только это не совсем очевидно. Там абсолютно позиционирована сама картинка и при увеличении скроллом она сдвигается влево и вверх. Таким образом получается эффект увеличения от точки, как например в google picassa - изображение увеличивается, а точка на которой находится мышка, остается неподвижной.
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2011, 15:22
Аспирант
Отправить личное сообщение для vyrtime Посмотреть профиль Найти все сообщения от vyrtime
 
Регистрация: 09.06.2011
Сообщений: 32

спасибо большое!
здесь http://www.asos.com поначалу и не заметил что скроллингом происходит зум
буду расчитывать значение на которое необходимо сдвинуть дивы
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2011, 08:57
Аспирант
Отправить личное сообщение для vyrtime Посмотреть профиль Найти все сообщения от vyrtime
 
Регистрация: 09.06.2011
Сообщений: 32

youmay,
а не подскажешь, как сдвигать дивы на то значение, на которое увеличилось изображение?
Ответить с цитированием
  #8 (permalink)  
Старый 01.11.2011, 12:44
Новичок на форуме
Отправить личное сообщение для youmay Посмотреть профиль Найти все сообщения от youmay
 
Регистрация: 10.10.2011
Сообщений: 8

Плагин zoomscroll
Внутри скрипта есть формула вычисления значений на которые надо сдвигать изображение при его увеличении.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Масштабирование страницы в браузерах gizmomy Events/DOM/Window 21 16.10.2015 18:27
Canvas масштабирование изображения+рисование zeddead Общие вопросы Javascript 2 23.10.2011 17:51
Перемещение, вращение, масштабирование div'a den_zm Dojo toolkit 1 13.10.2011 18:41
Реализация Zoom а. bayah Общие вопросы Javascript 2 06.05.2010 10:54
Масштабирование браузером - как обойти? Sandr Internet Explorer 7 25.04.2009 01:44