2009-05-25 5 views
0

Я пытаюсь добиться эффекта, подобного домашней странице youtube (вы должны войти в систему так I posted a small movie to explain this): у нас есть базовая сортировка (только по вертикали), но по каждому сортируемому элементу мы имеем «перемещение» вверх "и кнопку" вниз ". Эти кнопки делают ... именно то, что он говорит: перемещайте каждый элемент с аккуратным движением анимации или вниз.Сортировка похожа на домашнюю страницу youtube

Итак, я думаю, что это очень похоже на сортируемое: он создает помощника (то есть анимированный элемент), а после завершения анимации DOM изменяется с новыми позициями.

Итак, любая идея приветствуется!


Я сделал небольшое испытание в firebug. Я могу клонировать элемент с этим:

$('.hslider:first').clone(true).insertAfter('.hslider:first') 

Но главная проблема в том, что у меня есть некоторые JS привязываться на элементы внутри из .hslider. Даже если некоторые из них работают, другие (например, слайдер пользовательского интерфейса jquery) этого не делают. Есть ли способ сделать это без повторной инициализации целых js? Я попытался взглянуть на источник JQuery UI, но ... Я не так хорошо на JS/JQuery, чтобы иметь возможность расшифровать что-нибудь полезное (да, источник был несжатый: P)


Edit:

я нашел что-то похожее here, но я действительно не хочу, чтобы загрузить другой 40kb + только для этого эффекта (особенно, когда я уже Jquery загружается)

ответ

1

Почему вы не используете метод live() доступны jQuery 1.3+. Это гарантирует, что ваши элементы даже после того, как они будут вставлены заново, будут иметь привязки событий. Live в основном привязывает js-процедуры ко всем существующим и будущим сопоставленным элементам. Никакие дополнительные данные не должны быть загружены;)

+0

live не применим, потому что у меня есть такие вещи, как подсказки и слайдеры, которые не позволяют мне использовать live :). Но все равно спасибо! –

Смежные вопросы