Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.01.2011, 23:50
Аспирант
Отправить личное сообщение для Logo Посмотреть профиль Найти все сообщения от Logo
 
Регистрация: 15.03.2008
Сообщений: 91

Приведенная выше копипаста ни как не относится к обсуждаемому вопросу.
Я четко спросил, КАК сделать синхронную анимацию в JQuery.
Вместо того, что бы помочь или сказать не знаю как/пройти мимо, дознаешся до вещей, напрямую к вопросу не относящихся, заранее с установкой к чему нибудь придраться, и сказать, что ты бы сделал по другому.

Способ навигации - часть интерфейса, а о интерфейсе как известно разводят самые многостраничные холивары.

А ты тонкий тролль.
Ответить с цитированием
  #12 (permalink)  
Старый 14.01.2011, 01:20
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Logo
А ты тонкий тролль.
ты первый, кто меня так назвал а в дальнейшем просто учти, что меня не интересует, ЧТО ты спросил. Меня интересует, как лучше всего решить твою проблему

UPD еще немного копипасты

Последний раз редактировалось x-yuri, 14.01.2011 в 02:05.
Ответить с цитированием
  #13 (permalink)  
Старый 14.01.2011, 13:08
Аспирант
Отправить личное сообщение для Logo Посмотреть профиль Найти все сообщения от Logo
 
Регистрация: 15.03.2008
Сообщений: 91

Моя проблема в том, что анимация скролла, и анимация появления контента происходит не синхронно. Ни сообщения по теме нет, а только флуд и флейм.
Ответить с цитированием
  #14 (permalink)  
Старый 19.01.2011, 23:34
Аспирант
Отправить личное сообщение для Logo Посмотреть профиль Найти все сообщения от Logo
 
Регистрация: 15.03.2008
Сообщений: 91

Так.

Во-первых. Обсуждаемая опция - часть интерфейса. А на почве интерфейса происходят самые сильные холивары. vi[m] vs emacs, vim/emacs vs нормальные редакторы, редакторы vs IDE, GNOME vs KDE, браузерные войны etc. Хорошо/плохо здесь ориентируется на личные предпочтения, привычку, и не более.


Во-вторых ты действительно не привел ни одного аргумента.
Сообщение от x-yuri
Не надо мешать пользователю читать сайт, принимать за него решения.
Сферическое, в вакуме. Под это "определение" можно подогнать все что угодно.

Сообщение от x-yuri
Например, я просматриваю список новостей и щелкаю на "показать еще", чтобы подгрузились еще новости, пока я дочитаю то, что уже есть.
Контента мало, новости подгружаются сразу же, описанное физически невозможно. Сразу вспоминается один из принципов построения X System, "Хуже обобщения одного примера может быть только обобщение вообще без примеров."
А вот листать малыми порциями, постоянно возвращаясь скроллом, очень неудобно.

А в главных, от тебя не требовалось разводить тему преимущества того или иного способа навигации, а просто помочь в реализации.
Ответить с цитированием
  #15 (permalink)  
Старый 20.01.2011, 00:08
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Logo
А в главных, от тебя не требовалось разводить тему преимущества того или иного способа навигации, а просто помочь в реализации.
тон смени, а?

а то, что ты не можешь это реализовать только подтверждает, что это не нужно
Ответить с цитированием
  #16 (permalink)  
Старый 20.01.2011, 10:29
Аспирант
Отправить личное сообщение для Logo Посмотреть профиль Найти все сообщения от Logo
 
Регистрация: 15.03.2008
Сообщений: 91

То, что в JQuery нельзя сделать синхронную анимацию, лишь говорит о ее недостатках.
Ответить с цитированием
  #17 (permalink)  
Старый 06.05.2012, 01:13
Новичок на форуме
Отправить личное сообщение для bender-nvkz Посмотреть профиль Найти все сообщения от bender-nvkz
 
Регистрация: 22.09.2011
Сообщений: 4

не серьёзно совсем
Уже год прошел, а ни кто не делится информацией
Мне сейчас похожий функционал требуется, нужно уменьшать блок 1 и добавлять внутренний отступ к соседнему блоку 2, при наведении.
$('адрес блока инициирования').hover(function()
{
$('блок 1').animate({'width': '-=10px'}, 300);
$('блок 2').animate({'paddingRight': '+=10px'}, 300);
},
function() {
*процедура при снятии курсора*
});
})


Выполняется практически поочередно, разница в старте функций (начала выполнения по времени) так велика, что искажается идея анимации. Гуглил - почти везде ситуация одинакова - ни какой конкретики, а "супер ответ" про суп и ложку, который отношения не имеет к теме вообще.
Когда тема создается, учитывайте пожалуйста, что по поисковым запросам, данная тема будет проявляться в результатах, и в итоге две страницы флуда.

Сообщение от Logo
То, что в JQuery нельзя сделать синхронную анимацию, лишь говорит о ее недостатках.
- это стопроцентная информация? т.е. выходом может быть только разбиение на две функции и отложенное время старта одной из них?
Или в этом случае jq подождет указанное время, запустит первую, а следом вторую?

Конструкцию как сейчас, я пробовал и местами менять (тогда очерёдность меняется) и думал время выполнения подогнать под один знаменатель - бесполезно.
Ответить с цитированием
  #18 (permalink)  
Старый 06.05.2012, 01:47
Новичок на форуме
Отправить личное сообщение для bender-nvkz Посмотреть профиль Найти все сообщения от bender-nvkz
 
Регистрация: 22.09.2011
Сообщений: 4

ответ (решение)
Вариант с использованием SetTimeout - отпал как, предположительно не возможное решение. Пробовать не стал, но думаю поочередность сохранится.
Первый вариант был придумать конструкцию типа
$( "блок 1" ).add( "блок 2" )
и этим усложнить всё ситуацию.

НО - чудо свершилось, и имя ему
queue
- что значит "очередь"
Конструкция приняла такой вид:

$('адрес блока инициирования').hover(function()
{
$('блок 1').animate({'width': '-=10px'}, { duration: 300, queue: false });
$('блок 2').animate({'paddingRight': '+=10px'}, { duration: 300, queue: false });
},
function() {
*процедура при снятии курсора*
});
})


так вот "queue: false" - снимает этот вопрос!
jquery гораздо продуманней, чем может показаться.
ссылка на страницу в jq api - http://api.jquery.com/queue/

Буду рад, если вам пригодится данная информация)
Ответить с цитированием
  #19 (permalink)  
Старый 06.05.2012, 15:51
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

используйте событие step в методе animate
$('блок 1').animate({
    'width': '-=10px'
}, {
    duration: 300,
    step: function( now, data ) {
        // тут и обрабатывайте все что нужно, каждый шаг
    }
});
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #20 (permalink)  
Старый 23.05.2012, 05:15
Новичок на форуме
Отправить личное сообщение для bender-nvkz Посмотреть профиль Найти все сообщения от bender-nvkz
 
Регистрация: 22.09.2011
Сообщений: 4

Всё равно в итоге лажа получается.
Мне нужно несколько групп блоков обрабатывать независимо, т.е. множество блоков, внутри которых используется анимация вложенных блоков при наведении, так вот если после наведения на блок 1 сразу наводить на блок 2, где используется анимация, то процедура назначенная блоку 1 при снятии не выполняется, а выполняется сразу процедура наведения на блок 2, а блок 1, так и остается как-будто фокус мыши на нем. Это пол беды. Если вернуть мышь на блок 1, то парметры 'width': '-=10px' выполняются принимая за начальное значение width уже -=10px, так как осталось после выполнения первого наведения. В итоге если навести 5 раз, то блок на 50px меньше становится, и не возвращается в начальное заданное css значение.

Есть мысли у кого нибудь?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery для загрузки страницы в <div> Dr.Holerik jQuery 12 11.10.2016 17:36
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45
Плагин jParallax для jQuery britanik jQuery 4 14.02.2010 12:11
Повесить событие click (jQuery) на весь документ, кроме нескольких элементов dabutch Events/DOM/Window 2 12.11.2009 19:52