Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2013, 17:26
Интересующийся
Отправить личное сообщение для flasher167 Посмотреть профиль Найти все сообщения от flasher167
 
Регистрация: 29.03.2013
Сообщений: 26

Плавное сжимание изображения
Есть круг. Он поделен на 4 сектора, нужно что бы при наведении на определенный сектор он начал сжиматься к центру.
Проблема в том что не знаю как сделать сжатие и как разместить изображения по кругу что бы выгладил круг.
<html> 
    <body> 
        <div style = "border: 1px solid gray; position: absolute; left: 0; top: 0; width: 402; height: 402;" onmousemove = "x = event.x; y = event.y" onmouseout = "x = y = 0"> 
            <script> 
                var n = 5;
                var x = 0, y = 0;
                var r = new Array(100, 100, 100, 100, 100);
                
                for (var i = 0; i < n; i++) document.writeln("<img id = div" + i + " style = 'border: 0px; position: absolute; left: 100; top: 100; width: 200; height: 200;' src = " + i + "_" + n + ".png>");
                
                window.setInterval("tick()", 10);
                
                function tick() {
                    var i = (Math.ceil(Math.atan2(x - 200, y - 200) / Math.PI / 2 * n) + n) % n;
                    var s = Math.sqrt((x - 200) * (x - 200) + (y - 200) * (y - 200));
                    if (s < r[i])
                        setRad(i, Math.min(r[i] + 3, 200));
                }
                
                function reset() {
                    for (var i = 0; i < n; i++)
                        setRad(i, 100)
                }
                
                function setRad(i, rad) {
                    r[i] = rad;
                    with (document.getElementById("div" + i).style) {
                        left = top = 200 - r[i];
                        width = height = 2 * r[i];
                    }
                }
            </script> 
        </div> 
        <input type = button onclick = "reset()" value = "Reset" style = "position: absolute; left: 10; top: 410"> 
    </body> 
</html>

изображения имеют имя 1_5.png 2_5.png и т.д
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2013, 15:37
Интересующийся
Отправить личное сообщение для flasher167 Посмотреть профиль Найти все сообщения от flasher167
 
Регистрация: 29.03.2013
Сообщений: 26

или можно как то по другому это сделать?
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2013, 16:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Например на svg?
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2013, 16:31
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Или на canvas
Ответить с цитированием
  #5 (permalink)  
Старый 19.04.2013, 17:01
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

tsigel,
SVG вроде лучше подходит для этих целей
Ответить с цитированием
  #6 (permalink)  
Старый 19.04.2013, 17:06
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Возможно. Честно говоря я не особо знаю как работать с svg, просто я заметил что некоторые вещи сделанные на нем не работают в некоторых версиях ie (хотя возможно что это по причине криворукости разработчиков), а canvas со скриптом для ie < 9 работает более-менее стабильно (если конечно не считать что скорость работы на ie < 9 оставляет желать лучшего).
Ответить с цитированием
  #7 (permalink)  
Старый 19.04.2013, 17:12
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

tsigel,
SVG в ИЕ ВООБЩЕ НЕТ - там есть аналог svg - vmg или что-то типо того
Ответить с цитированием
  #8 (permalink)  
Старый 19.04.2013, 17:14
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

То-то оно не работает
Ответить с цитированием
  #9 (permalink)  
Старый 19.04.2013, 17:15
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

tsigel,
На ИЕ либо забивают, либо делают альтернативу
Ответить с цитированием
  #10 (permalink)  
Старый 19.04.2013, 17:17
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Dim@,
Спасибо, буду иметь в виду.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение рабочей области изображения pagemaster Общие вопросы Javascript 19 15.04.2013 18:06
Расчет реальных размеров изображения в галерее Vision Элементы интерфейса 7 10.07.2012 21:56
Плавное исчезновение и появление изображения Surlik jQuery 9 17.03.2012 14:27
Плавное скрытие изображения proweb Общие вопросы Javascript 2 15.02.2012 21:49
карта увеличенного изображения Luna82 Элементы интерфейса 11 15.06.2011 10:17