Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2014, 13:41
Новичок на форуме
Отправить личное сообщение для scrobot Посмотреть профиль Найти все сообщения от scrobot
 
Регистрация: 14.05.2014
Сообщений: 6

Отсчитать 3ий элемент карусели их 5 видимых
Здравствуйте, возникла проблема. Имеется jcarousel, имеется 5 видимых элементов. Мне нужно 3ему элементу li придать класс active. Карусель замкнута, т.е. просто nth-child не поможет. Необходимо именно их 5 отображаемых на экране элемента придать третьему класс. Подскажите возможные решения. Заранее спасибо.

Последний раз редактировалось scrobot, 14.05.2014 в 13:46.
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2014, 14:12
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Ох, помню, придумывал что то подобное
getArray = function(count,curSlide) {//создаем массив,аргументы - количество слайдов,активный слайд
	var c = [];
	for (i=0;i<count;i++) {
		c.push(i);//создаем массив из элементов (допустим их 5 == [1,2,3,4,5])
	}			
	c = c.concat(c.concat(c))//конкатинация массива == [1,2,3,4,5,1,2,3,4,5,12,3,4,5]
	c[count+cureentSlide]='center';//вычисление центра допустим активный слайд 2 ==[1,2,3,4,5,1,'center',3,4,5,12,3,4,5],хотя можно и не вычислять,так для наглядности
	return c;
}

Получил массив теперь можешь спокойно отсчитывать по нему в любую сторону - 3 в лево будет 5 слайд, враво 3 слайд.
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2014, 14:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,114

Сообщение от scrobot
Имеется jcarousel
а ссылку на источник?
а ещё лучше макет тут или в песочнице
Ответить с цитированием
  #4 (permalink)  
Старый 14.05.2014, 14:21
Новичок на форуме
Отправить личное сообщение для scrobot Посмотреть профиль Найти все сообщения от scrobot
 
Регистрация: 14.05.2014
Сообщений: 6

Сообщение от рони
а ссылку на источник?
http://sorgalla.com/jcarousel/examples/responsive/ вот эта каруселька используется
Ответить с цитированием
  #5 (permalink)  
Старый 14.05.2014, 14:44
Новичок на форуме
Отправить личное сообщение для scrobot Посмотреть профиль Найти все сообщения от scrobot
 
Регистрация: 14.05.2014
Сообщений: 6

http://plast-pak.esy.es/ - а вот и сам макет
Ответить с цитированием
  #6 (permalink)  
Старый 14.05.2014, 14:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,114

jCarousel выделение центральной картинки
scrobot,
а доку почитать?
<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Responsive Carousel - jCarousel Examples</title>
        <base href="http://sorgalla.com/jcarousel/examples/responsive/" />
        <!-- Shared assets -->
        <link rel="stylesheet" type="text/css" href="_shared/css/style.css">

        <!-- Example assets -->
        <link rel="stylesheet" type="text/css" href="jcarousel.responsive.css">

        <script type="text/javascript" src="../../libs/jquery/jquery.js"></script>
        <script type="text/javascript" src="../../dist/jquery.jcarousel.min.js"></script>
        <style type="text/css">
        .jcarousel  img.active{
          border: #FF0000 4px  solid;
          border-radius: 4px;
          width: 92%;
          height: 92%;
        }

        </style>
        <script>(function($) {
    $(function() {
        var jcarousel = $('.jcarousel');

        jcarousel
            .on('jcarousel:reload jcarousel:create', function () {
                var width = jcarousel.innerWidth();

                if (width >= 600) {
                    width = width / 5;
                } else if (width >= 350) {
                    width = width / 2;
                }

                jcarousel.jcarousel('items').css('width', width + 'px');
            })
            .jcarousel({
                wrap: 'circular'

            });

        $('.jcarousel-control-prev')
            .jcarouselControl({
                target: '-=1'
            });

        $('.jcarousel-control-next')
            .jcarouselControl({
                target: '+=1'
            });

        $('.jcarousel-pagination')
            .on('jcarouselpagination:active', 'a', function() {
                $(this).addClass('active');
            })
            .on('jcarouselpagination:inactive', 'a', function() {
                $(this).removeClass('active');
            })
            .on('click', function(e) {
                e.preventDefault();
            })
            .jcarouselPagination({
                perPage: 1,
                item: function(page) {
                    return '<a href="#' + page + '">' + page + '</a>';
                }
            });

$('.jcarousel')
    .on('jcarousel:animateend', function(event, carousel) {
        var visible = $('.jcarousel').jcarousel('visible');
       $('img', '.jcarousel').removeClass('active') //   $('li', '.jcarousel').removeClass('active')
        $('img',visible.eq(2)).addClass('active');   //   visible.eq(2).addClass('active');

    });


    });
})(jQuery);

</script>

    </head>
    <body>

        <div class="wrapper">
            <h1>Responsive Carousel</h1>


            <p>This example shows how to implement a responsive carousel. Resize the browser window to see the effect.</p>

            <div class="jcarousel-wrapper">
                <div class="jcarousel">
                    <ul>
                        <li><img src="../_shared/img/img1.jpg" alt="Image 1"></li>
                        <li><img src="../_shared/img/img2.jpg" alt="Image 2"></li>
                        <li><img src="../_shared/img/img3.jpg" alt="Image 3" class="active"></li>
                        <li><img src="../_shared/img/img4.jpg" alt="Image 4"></li>
                        <li><img src="../_shared/img/img5.jpg" alt="Image 5"></li>
                        <li><img src="../_shared/img/img6.jpg" alt="Image 6"></li>
                    </ul>
                </div>

                <a href="#" class="jcarousel-control-prev">&lsaquo;</a>
                <a href="#" class="jcarousel-control-next">&rsaquo;</a>

                <p class="jcarousel-pagination"></p>
            </div>
        </div>

    </body>
</html>

Последний раз редактировалось рони, 14.05.2014 в 15:02.
Ответить с цитированием
  #7 (permalink)  
Старый 14.05.2014, 15:01
Новичок на форуме
Отправить личное сообщение для scrobot Посмотреть профиль Найти все сообщения от scrobot
 
Регистрация: 14.05.2014
Сообщений: 6

Да вот только что хотел написать извинения за отнятое время)) Полазил и сам нашел. Как-то я пропустил этот пункт в доке. Спасибо большое.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Drag-n-Drop - перетянуть элемент Jugo ExtJS 1 10.08.2011 19:10