Есть 10 картинок, каждая вложенная в дивы. Координата каждого дива имеет приращение в 15пик. Возможно ли с помощью JQuery пробежать по этим дивам(пусть они тоже будут вложены в некоторый контейнер Див), и изменить их координаты (топ, лефт) на 15пик?
Может есть что-типа функции someFunction(РодительПотомковКоторыхНадоПеребрать,moveX,moveY)? moveX,moveY - приращение координат к каждому потомку. Ну и какой-нибудь так эффект замедленного изменения положения)))
Потерял линк на сайт с такой фигней по JQuery((
1. zypikov - 06 Марта, 2012 - 23:33:08 - перейти к сообщению
2. IllusionMH - 07 Марта, 2012 - 01:49:51 - перейти к сообщению
zypikov, если я правильно понял - это можно сделать примерно так
_http://jsfiddle.net/IllusionMH/nAdJr/1/embedded/result,js/
Лучшая ссылка по jQuery фигне
Понравился видеокурс 30 Days to Learn jQuery на Tuts+ от Jeffrey Way
_http://jsfiddle.net/IllusionMH/nAdJr/1/embedded/result,js/
Лучшая ссылка по jQuery фигне
Понравился видеокурс 30 Days to Learn jQuery на Tuts+ от Jeffrey Way
3. zypikov - 07 Марта, 2012 - 21:00:18 - перейти к сообщению
Да, вы правильно поняли IllusionMH. Но мне еще нужно смещать координаты, начиная с определенного потомка, например второго. Я почитал по вашей ссылке документацию (видое курс не смотрел, интернет не тянет(( ), и насколько понял нельзя передать в функцию номер потомка с которого нужно начинать смещать. Если можно, то как?
Воообще, моя задача состоит в том, что: допустим удалил 3 потомка, а 4 и 5(последний "подъехали" к нему..
Видимо, придется самим js получать потомка, а потом через jQuery смещать каждый, начиная с удаленного((
Воообще, моя задача состоит в том, что: допустим удалил 3 потомка, а 4 и 5(последний "подъехали" к нему..
Видимо, придется самим js получать потомка, а потом через jQuery смещать каждый, начиная с удаленного((
4. DeepVarvar - 07 Марта, 2012 - 23:49:42 - перейти к сообщению
zypikov пишет:
удалил 3 потомка, а 4 и 5(последний "подъехали" к нему..
Идите от обратного - при удалении 3-его надо анимированно сжать его ширину до нуля пикс.
А уж после анимации, реально сделать ему remove();
Для юзера же это будет выглядеть так как вы описали.
Кроме того что-то мне кажется что стандартного "каруселькиного" подхода с родителем overflow: hidden; тоже может хватить за глаза.
5. zypikov - 08 Марта, 2012 - 10:19:18 - перейти к сообщению
DeepVarvar пишет:
Я думал по-другому Может даже и лучший вариант.Идите от обратного - при удалении 3-его надо анимированно сжать его ширину до нуля пикс.
DeepVarvar, перебор потомков у меня идет чистым js. Получил я потомка, как теперь его передать в jquery, чтобы ужать?
DeepVarvar пишет:
Никогда не слышал. Ссылку на примерчик, пожалуйста) и лучше с кодом)))
Кроме того что-то мне кажется что стандартного "каруселькиного" подхода с родителем overflow: hidden; тоже может хватить за глаза.
6. IllusionMH - 08 Марта, 2012 - 11:33:58 - перейти к сообщению
zypikov, в jQuery метод .each() можно передавать индекс элемента в массиве на котором он сейчас.
_http://jsfiddle.net/IllusionMH/nAdJr/5/embedded/result,js/
Вот переделанный вариант, там где есть флаг, который устанавливается если находимся на текущем (удаляемом) элементе, и все следующие будут сдвигаться в сторону.
Сам же элемент имеет, как упоминал выше DeepVarvar, анимацию уменьшения ширины и по завершению анимации - удаляется.
Функцию нужно будет оптимизировать (как минимум повесить события не на каждый элемент, а на родителя, и сравнивать с объектом инициатором события, а не с передаваемым в функции текущим)
В некоторых случаях оптимальней будет вариант когда всем дочерним объектам задается float: left;, и анимируются только ширина (возможно отступ(ы)) удаляемого элемента, а остальные "подъедут" сами.
_http://jsfiddle.net/IllusionMH/nAdJr/5/embedded/result,js/
Вот переделанный вариант, там где есть флаг, который устанавливается если находимся на текущем (удаляемом) элементе, и все следующие будут сдвигаться в сторону.
Сам же элемент имеет, как упоминал выше DeepVarvar, анимацию уменьшения ширины и по завершению анимации - удаляется.
Функцию нужно будет оптимизировать (как минимум повесить события не на каждый элемент, а на родителя, и сравнивать с объектом инициатором события, а не с передаваемым в функции текущим)
В некоторых случаях оптимальней будет вариант когда всем дочерним объектам задается float: left;, и анимируются только ширина (возможно отступ(ы)) удаляемого элемента, а остальные "подъедут" сами.
7. zypikov - 09 Марта, 2012 - 18:20:40 - перейти к сообщению
IllusionMH пишет:
А я посмотрел, что в children() ниче передать незя, а про each() и не подумал((. в jQuery метод .each() можно передавать индекс элемента в массиве на котором он сейчас.
IllusionMH пишет:
. Ну это когда я синтаксис jQuery подучу))Функцию нужно будет оптимизировать (как минимум повесить события не на каждый элемент, а на родителя, и сравнивать с объектом инициатором события, а не с передаваемым в функции текущим)
Но это еще часть работы. Как сделать полностью прозрачной часть изображения? Допустим есть фото 100 на 200 пикселей, мне нужно сделать полностью непрозрачной часть этого фото размеро 50 на 100 пикс. Может ли это jQuery? Либо какая-нибудь другая библиотека? Я посмотрел примеры Рафаэль, но подобного ничего не видел. Пока что вижу единственный выход - резать пхп скриптом функцией imagecopyresampled() на части, потом их складывать. Затем js у нужного убирать непрозрачность.
8. IllusionMH - 09 Марта, 2012 - 18:52:16 - перейти к сообщению
zypikov, как вариант, использовать блоки фиксированного размера, а изображения ставить им фоном и сдвигать его.
Либо div с overflow: hidden; и фиксированными размерами. Внутри располагаются изображения, которые сдвинуты влево и вверх (отрицательные left/top или соответствующие margin).
Либо div с overflow: hidden; и фиксированными размерами. Внутри располагаются изображения, которые сдвинуты влево и вверх (отрицательные left/top или соответствующие margin).
9. zypikov - 11 Марта, 2012 - 21:10:13 - перейти к сообщению
IllusionMH пишет:
Либо div с overflow: hidden; и фиксированными размерами. Внутри располагаются изображения, которые сдвинуты влево и вверх (отрицательные left/top или соответствующие margin).
Жаль только, что со свойством overflow есть косяки в разных браузерах(((
И все равно эти сокрытия получаются за счет извращений всяких((
IllusionMH + 1 в карму, DeepVarvar спасибо за помощь)