Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.08.2018, 21:56
Интересующийся
Отправить личное сообщение для dranoc Посмотреть профиль Найти все сообщения от dranoc
 
Регистрация: 31.08.2017
Сообщений: 11

Листать слайдер наведением мыши
Есть слайдер с кнопками для перелистывания изображений, а как сделать чтобы он листался наведением мыши (например наводишь мышку в левую часть, листаеться влево, наводишь в правую то вправо)
<div class="jcarousel-wrapper">
                <div class="jcarousel">
                    <ul>
                        <li><img src="img1.jpg" alt="Image 1"></li>
                        <li><img src="img2.jpg" alt="Image 2"></li>
                        <li><img src="img3.jpg" alt="Image 3"></li>
                        <li><img src="img4.jpg" alt="Image 4"></li>
                        <li><img src="img5.jpg" alt="Image 5"></li>
                        <li><img src="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>

(function($) {
    $(function() {
        var jcarousel = $('.jcarousel');

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

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

                carousel.jcarousel('items').css('width', Math.ceil(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: 3,
                item: function(page) {
                    return '<a href="#' + page + '">' + page + '</a>';
                }
            });
    });
})(jQuery);
Ответить с цитированием
  #2 (permalink)  
Старый 13.08.2018, 00:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

jcarousel jcarouselAutoscroll
dranoc,
(function($) {
    $(function() {
        var jcarousel = $(".jcarousel");
        jcarousel.on("jcarousel:reload jcarousel:create", function() {
            var carousel = $(this),
                width = carousel.innerWidth();
            if (width >= 600) width = width / 3;
            else if (width >= 350) width = width / 2;
            carousel.jcarousel("items").css("width", Math.ceil(width) + "px")
        }).jcarousel({
            wrap: "circular"
        }).jcarouselAutoscroll({
            interval: 1800,
            target: "-=1",
            autostart: false
        }).mousemove(function(event) {
            var prev = event.clientX < jcarousel.innerWidth() / 2;
            var data = jcarousel.data("prev");
            if (data != prev) {
                var target =
                    prev ? "-=1" : "+=1";
                jcarousel.data("prev", prev).jcarousel("scroll", target).jcarouselAutoscroll("reload", {
                    target: target
                }).jcarouselAutoscroll("start")
            }
        }).mouseleave(function() {
            jcarousel.jcarouselAutoscroll("stop")
        });
        $(".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: 3,
            item: function(page) {
                return '<a href="#' + page + '">' + page + "</a>"
            }
        })
    })
})(jQuery);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поместить слайдер в модальное окно? ИщуПомощь Элементы интерфейса 2 24.08.2017 20:27
Как заставить слайдер останавливаться при наведении мыши? borus Events/DOM/Window 3 31.07.2014 10:55
рисование прямоугольника по движению мыши prizrak39 Events/DOM/Window 4 14.03.2013 15:36
Немного Юмора - Гуртовщики Мыши antonM Оффтопик 12 23.03.2012 20:04
Имитация нажатия кнопки мыши Mantell Общие вопросы Javascript 3 19.02.2009 17:03