Скроллер содержимого
Вложений: 2
Доброго времени суток всем.
Помогите пожалуйста новичку в jQuery... Есть скроллер содержимого вот такой: ссылка Архив с собранным скроллером: скачать Хочу изменить его немного... сделать вертикальным - с этим я почти разобрался и самое главное изменить его так, чтобы "пролистывание" происходило не по КЛИКУ, а при НАВЕДЕНИИ на те же стрелочки... Пробовал менять в файле "scrollable.js" строчки: // prev $(opts.prev, root).click(function() { self.prev() }); // next $(opts.next, root).click(function() { self.next() }); на эти: // prev $(opts.prev, root).hover(function() { self.prev() }); // next $(opts.next, root).hover(function() { self.next() }); При этом скроллер начинает странно себя вести. Работает лишь наведение на левую PREV стрелочку, а NEXT не пашет совсем. Если строки (указанные выше) поменять местами, то работает NEXT, а PREV перестает работать. Совершенно не понимаю в чем может быть проблема. К тому же хотелось бы чтобы при наведении движение контента было непрерывным, а не просто на 1 шаг и все. Наверное это надо реализовывать через цикл... но я не знаю как... Уважаемые гуру jQuery, подскажите пжл, ибо в тупике... :( |
Ну кто-нибудь, дайте хоть наводку - слово написано слитно :)
|
Даю на водку: интерфейсы, выполняющие какие-то действия при наведении мыши -- очень неудобные интерфейсы.
|
Следующим советом наверное будет отказаться еще от какой-нить "бредовой" идеи)) Спасибо, Kolyaj...
Вопрос все же не перестает быть для меня актуальным. Still need help. |
Народ! Неужели никто не в силах подсказать? (((
|
Следующий совет, использовать деньги, тобишь заказать кому нибудь из фрилансеров сделать :)
тута http://javascript.ru/forum/job/ копаться в чужом коде никому не хочется, по крайне мере бесплатно, поэтому вы не находите ответа на свои просьбы запросы... |
А не легче этот пример сделать без jquery?
Уже какой раз убеждаюсь, что очень часто лучше глянуть как выглядит и сделать тоже самое без jquery.Код получается даже меньше и работает быстрее. А вообще пример хороший и красивый. Спасибо , что здесь выложил. В jquery коде разобраться сложнее,чем сделать самому без него. Делал галерею, так вроде на jquery код огого. А мой код получился маленький. А ещё пришел к выводу, чтобы в полную силу использовать Jquery и особенно писать для него плагины надо уметь делать тоже самое без него. Хотя я им вообще не пользуюсь, один лишь раз исправлял какой-то плагин. http://javascript.ru/blog/mycoding/Galereya http://moc-081.ru |
Сделал вот так
// prev $(opts.prev, root).mouseover(function() { self.prev() }); // next $(opts.next, root).mouseover(function() { self.next() }); Вроде работает, но чтобы перелистнуть на новый приходится опять наводить. |
mycoding, спасибо тебе огромное... хотя бы сдвинусь с мертвой точки... :)
to sysya: спасибо тебе за очень полезный совет. Ты наверное не понял, что я не 100% готовый вариант тут требую во все горло, а просил совета или указания на мои ошибки... приведя пример того, о чем веду речь... |
Интересно, а как зациклить это движение? То есть при удержании мыши над стрелкой, скроллер прокручивал сожержимое до упора?
|
Кто-нибудь.... есть идеи на этот счет? подскажите плиз, бьюсь над этим уже не один день... ((
|
Цитата:
|
А если применять цикл, как сделать проверку на hover?
|
Народ, ну подскажите пжл куда копать в поисках решения проблемы... (((
|
$(элемент на который наводится мышь).hover(function(){//первый параметр, при наведении мыши на элемент var setInt = setInterval(функция анимации, время в мс);//запускаем интервал }, function(){//второй параметр, при выходе мыши из пространства элемента clearInterval(setInt);//удаляем интервал, функция анимации больше не вызывается по окончании установленного времени });как то так надо доработать конечно, но в эту сторону капайте... вот инфа ещё http://javascript.ru/setInterval |
Попробовал написать так:
$(opts.prev, root).mouseover( function(){ var setInt = setInterval( function() { self.prev() } ); }, function(){ clearInterval(setInt); } ); Реакция на наведение нулевая... также пробовал вместо "mouseover" писать "hover" - тот же эффект. Может проще саму функцию движения изменить которая срабатывает при наведении??? next: function(time) { this.move(1, time); }, prev: function(time) { this.move(-1, time); }, Либо оставить все как есть, только сделать в цикле с проверкой на состояние наведения мыши на объект управления... то есть если мышь наведена выполняем функцию движения как она есть (продвигаем скролл на 1 раз), далее опять проверка... и при отсутствии наведения цикл завершается... Только я в javascript вообще не силен, подскажите синтаксис, и вообще можно ли реализовать то что я говорю в цикле?? Спасибо всем кто помогает, реально давно парюсь :( |
Я так понял вы совсем не знаете яваскрипт, а jquery только интуитивно:)
Так не правильно использовать mouseover. Такой синтаксис подходит для hover: $(opts.prev, root).hover( function(){ var setInt = setInterval( function() { self.prev() }, 300 ); }, function(){ clearInterval(setInt); } );Так примерно. И изучайте javascript... Посмотрите реалтзацию зацикливания анимации http://mnp.in.ua/jquery_dlya_nachinaushih2.php |
Цитата:
Еще раз попробовал с добавлением числа как вы указали (я так понимаю в роли "скорости"). Все также нет эффекта. Я согласен что на уровне интуиции в jquery... потому ищу помощи у грамотных людей. |
в setInterval нет скорости, это время в милисекундах, по истечении которого запускается первый параметр этой функции. Поиском пользуйтесь, чтоб искать описание каких то незнакомых слов.
И ещё раз: Цитата:
|
Господа прошу помочь с синтаксисом, придумал следующую вещь.
Вместо того что щас есть (спасибо товарищу mycoding): // prev $(opts.prev, root).mouseover( function() { self.prev() } ); Пробую сделать в цикле: // prev $(opts.prev, root).mouseover( while(курсор мыши над объектом "opts.prev, root") { function() { self.prev() } } ); Next по аналогии... Не могу правильно написать проверку состояния наведения мыши... Возможно покажется нагромождением - фактически 2 раза проверяется состояние наведения курсора... Просто хочется чтобы цикл запускался только в случае наведения "$(opts.prev, root).mouseover"... Если конструкция совершенно не верная, подскажите пжл как сделать ее рабочей. |
Кто-нибудь может помочь с синтаксисом этого участка кода что я привел?
|
Часовой пояс GMT +3, время: 07:16. |