![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
FightInGlory |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 14.11.2006 Репутация: нет Всего: 1 |
Подскажите, как можно реализовать подобную вещь. При уменьшении/увеличении экрана окончание шнура (красного цвета), извивалось за шнуром.
![]() Это сообщение отредактировал(а) FightInGlory - 29.6.2010, 16:46 |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Это сообщение отредактировал(а) ksnk - 29.6.2010, 17:36 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
а) какое отношение гифка имеет к этому разделу? - в смысле, что хочется сделать на js как показано на картинке?
б) это задание как раз для подраздела "JavaScript: для новичков", но явно не профи-вопрос ... Если как тут, то это делается для определенного количества положений, для которых и определяется "наконечник". На практике так: нижний слой - весь шнур, следующий слой - магнитофон в 3-4-5-6 положениях (сколько надо) и верхний слой - наконечник соответственно в 3-4-5-6 положениях. 3 картинки, которые при будто бы "анимации" смещаются и перерисовываются. Наконечник во всех положениях, естественно, в одной картинке, и перерисовка через изменение положения картинки в контейнере (CSS-sprites), а то мелькания достанут. А вообще-то, это баннерно-анимационная штука и заниматься подобным должны специальные инструменты - та же гифка (тьфу, не люблю и не использую) или флешка, где можно прорисовать действительно анимационную штуку, а не этот "фильмоскоп". |
|||
|
||||
FightInGlory |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 14.11.2006 Репутация: нет Всего: 1 |
2 IDVsbruck, данное изображение было в качестве примера. Оно показывает, что при изменении размера окна браузера шнур должен увеличиваться (если размер окна увеличивается), а наконечник перемещаться по вертикали за ним. Пример про слайды лично я не понял. Ну сделаю я 10 положения, но не добьюсь идеального плавного движения. И поверь данный пример далеко не каждый опытный сделает, не то что новичек.
2 ksnk, большое спасибо за ответ. Тоже не могу сообразить как быть со штекером, но надо именно так. |
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Я не знаю кто такой новичЕк, с ним не знаком, но, в принципе, задача не так уж и сложна. Самый сложный вопрос, как ни странно, заключается в том, как быстро (и удобно) поворачивать картинку со штекером. Но вроде библиотеки есть - найти не составит труда.
Главная "фича" в том, что шнур не берем с фоток, а рисуем сами - в фотошопе (уроков - море, абсолютно реалистичные получаются), но рисуем не просто линию, а, скажем, нарисованную где-то в Матлабе или Маткаде - можно чистую синусоиду, можно слегка затухающую или с переменным множителем угла (каждая "волна" шире или уже), выписываем и импортируем в графический редактор. Одним словом, суть в том, чтобы точно знать формулу шнура от вилочки до места "входа" в гаджет. Дальше - дело техники и аккуратного математического программирования. Нижний слой - шириной до гаджета - шнур, выше слой оставляем под штекер, и верний - гаджет. Так как у тебя есть точные координаты и функция кривой, значит, всегда можно вычислить вертикаль и угол касательной (первая производная, кажись - для тригонометрических функций там и вовсе просто). Остается только перемещать штекер по горизонтали вслед за гаджетом, по вертикали - ордината функции, а угол - касательная в месте соприкосновения шнура и гаджета. Для чистой синусоиды задача и вовсе простецкая, только не так фотореалистично будет. |
|||
|
||||
mxt |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 6.9.2007 Репутация: нет Всего: 1 |
Если отвечать прямо на вопрос, как на картинке то делается просто (извеняюсь, если тут об этом написали, и я просмотрел)
1. Рисуется шнур (к примеру как на картинке) 2. Берется этот же шнур, перекрашивается и немного увеличивает его толщина (хотя необязательно) 3. Нижним слоем идет шнур. верхним та перекрашенная картинка с шириной 5px и с отступами слева в элементе и в фоне. 4. Затем при изменении размера, выставлять нужный отступ в обоих параметрах это если прям как на картинке. Это сообщение отредактировал(а) mxt - 7.7.2010, 00:46 --------------------
|
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
По-моему, слегка модифицировав подход mxt, можно обойтись и без JS (если не учитывать IE6)...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |