Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: переместить(поменять координаты) объекта с помощью JQuery

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zypikov
Отправлено: 06 Марта, 2012 - 23:33:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Есть 10 картинок, каждая вложенная в дивы. Координата каждого дива имеет приращение в 15пик. Возможно ли с помощью JQuery пробежать по этим дивам(пусть они тоже будут вложены в некоторый контейнер Див), и изменить их координаты (топ, лефт) на 15пик?
Может есть что-типа функции someFunction(РодительПотомковКоторыхНадоПеребрать,moveX,moveY)? moveX,moveY - приращение координат к каждому потомку. Ну и какой-нибудь так эффект замедленного изменения положения)))
Потерял линк на сайт с такой фигней по JQuery((


-----
У всего есть обратная сторона.
 
 Top
IllusionMH
Отправлено: 07 Марта, 2012 - 01:49:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zypikov, если я правильно понял - это можно сделать примерно так
_http://jsfiddle.net/IllusionMH/nAdJr/1/embedded/result,js/

Лучшая ссылка по jQuery фигне Подмигивание
Понравился видеокурс 30 Days to Learn jQuery на Tuts+ от Jeffrey Way
 
 Top
zypikov
Отправлено: 07 Марта, 2012 - 21:00:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Да, вы правильно поняли IllusionMH. Но мне еще нужно смещать координаты, начиная с определенного потомка, например второго. Я почитал по вашей ссылке документацию (видое курс не смотрел, интернет не тянет(( ), и насколько понял нельзя передать в функцию номер потомка с которого нужно начинать смещать. Если можно, то как?

Воообще, моя задача состоит в том, что: допустим удалил 3 потомка, а 4 и 5(последний "подъехали" к нему..
Видимо, придется самим js получать потомка, а потом через jQuery смещать каждый, начиная с удаленного((


-----
У всего есть обратная сторона.
 
 Top
DeepVarvar Супермодератор
Отправлено: 07 Марта, 2012 - 23:49:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




zypikov пишет:
удалил 3 потомка, а 4 и 5(последний "подъехали" к нему..

Идите от обратного - при удалении 3-его надо анимированно сжать его ширину до нуля пикс.
А уж после анимации, реально сделать ему remove();
Для юзера же это будет выглядеть так как вы описали.
Кроме того что-то мне кажется что стандартного "каруселькиного" подхода с родителем overflow: hidden; тоже может хватить за глаза.
 
 Top
zypikov
Отправлено: 08 Марта, 2012 - 10:19:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




DeepVarvar пишет:
Идите от обратного - при удалении 3-его надо анимированно сжать его ширину до нуля пикс.
Я думал по-другому Улыбка Может даже и лучший вариант.
DeepVarvar, перебор потомков у меня идет чистым js. Получил я потомка, как теперь его передать в jquery, чтобы ужать?

DeepVarvar пишет:
Кроме того что-то мне кажется что стандартного "каруселькиного" подхода с родителем overflow: hidden; тоже может хватить за глаза.
Никогда не слышал. Ссылку на примерчик, пожалуйста) и лучше с кодом)))


-----
У всего есть обратная сторона.
 
 Top
IllusionMH
Отправлено: 08 Марта, 2012 - 11:33:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zypikov, в jQuery метод .each() можно передавать индекс элемента в массиве на котором он сейчас.
_http://jsfiddle.net/IllusionMH/nAdJr/5/embedded/result,js/
Вот переделанный вариант, там где есть флаг, который устанавливается если находимся на текущем (удаляемом) элементе, и все следующие будут сдвигаться в сторону.
Сам же элемент имеет, как упоминал выше DeepVarvar, анимацию уменьшения ширины и по завершению анимации - удаляется.

Функцию нужно будет оптимизировать (как минимум повесить события не на каждый элемент, а на родителя, и сравнивать с объектом инициатором события, а не с передаваемым в функции текущим)

В некоторых случаях оптимальней будет вариант когда всем дочерним объектам задается float: left;, и анимируются только ширина (возможно отступ(ы)) удаляемого элемента, а остальные "подъедут" сами.

(Отредактировано автором: 08 Марта, 2012 - 11:34:39)

 
 Top
zypikov
Отправлено: 09 Марта, 2012 - 18:20:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




IllusionMH пишет:
в jQuery метод .each() можно передавать индекс элемента в массиве на котором он сейчас.
А я посмотрел, что в children() ниче передать незя, а про each() и не подумал((.

IllusionMH пишет:
Функцию нужно будет оптимизировать (как минимум повесить события не на каждый элемент, а на родителя, и сравнивать с объектом инициатором события, а не с передаваемым в функции текущим)
. Ну это когда я синтаксис jQuery подучу))

Но это еще часть работы. Как сделать полностью прозрачной часть изображения? Допустим есть фото 100 на 200 пикселей, мне нужно сделать полностью непрозрачной часть этого фото размеро 50 на 100 пикс. Может ли это jQuery? Либо какая-нибудь другая библиотека? Я посмотрел примеры Рафаэль, но подобного ничего не видел. Пока что вижу единственный выход - резать пхп скриптом функцией imagecopyresampled() на части, потом их складывать. Затем js у нужного убирать непрозрачность.

(Отредактировано автором: 09 Марта, 2012 - 18:21:41)



-----
У всего есть обратная сторона.
 
 Top
IllusionMH
Отправлено: 09 Марта, 2012 - 18:52:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zypikov, как вариант, использовать блоки фиксированного размера, а изображения ставить им фоном и сдвигать его.

Либо div с overflow: hidden; и фиксированными размерами. Внутри располагаются изображения, которые сдвинуты влево и вверх (отрицательные left/top или соответствующие margin).

(Отредактировано автором: 09 Марта, 2012 - 19:00:53)

 
 Top
zypikov
Отправлено: 11 Марта, 2012 - 21:10:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




IllusionMH пишет:
Либо div с overflow: hidden; и фиксированными размерами. Внутри располагаются изображения, которые сдвинуты влево и вверх (отрицательные left/top или соответствующие margin).

Жаль только, что со свойством overflow есть косяки в разных браузерах(((
И все равно эти сокрытия получаются за счет извращений всяких((
IllusionMH + 1 в карму, DeepVarvar спасибо за помощь)


-----
У всего есть обратная сторона.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB