Элемент слайдера в Ruby on Rails - PullRequest
0 голосов
/ 21 февраля 2011

Я работаю над приложением Rails3. Я пытаюсь создать отображение типа слайдера, где 5 элементов (из таблицы в базе данных) находятся на странице в ряд, и с обеих сторон есть стрелки.

Что я хочу, так это то, что при нажатии стрелок будет отображаться следующий (или предыдущий, в зависимости от стрелки) элемент путем повторного рендеринга всего ползунка и замены содержимого соответствующими элементами. Я всегда хочу, чтобы на странице отображалось 5 элементов, и каждый щелчок стрелки будет казаться, что один элемент исчезает с одной стороны, а другой - с другой. Я также хочу, чтобы это был круглый слайдер, а это означает, что он никогда не заканчивается, просто прыгает с последнего элемента на первый.

Как мне этого добиться. Вся работа должна быть выполнена в контроллере. Кроме того, я хочу, чтобы начальная точка элементов была рандомизирована, а это означает, что при первой загрузке страницы ползунок может находиться в середине его цикла. Есть идеи?

Я бы предпочел более эффективные способы, чем повторная рендеринг всего слайдера, например, просто изменить его содержимое с помощью AJAX и изменить только то, что необходимо изменить.

Ответы [ 2 ]

1 голос
/ 21 февраля 2011

То, что вы ищете, это карусель. Есть много плагинов для этого, если вы используете любую из библиотек JavaScript, таких как JQuery или PrototypeJS. Этот является примером одной такой вещи. А вот список 10 лучших слайд-шоу Javascript, каруселей и слайдеров .

0 голосов
/ 21 февраля 2011

Эти два видео могут помочь

Если вы, например, использовали will_paginate, вы можете установить свой контроллер следующим образом

def self.search(search, page)
  paginate :per_page => 5, :page => page,
       :conditions => ['name like ?', "%#{search}%"],
       :order => 'name'
end

Тогда просто используйте CSS для создания обложки навигации, так как вам нужна информация об этом здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...