Javascript.RU

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

Автопрокрутка в jcarousellite
function inte() {
         var interval = setInterval(function(){
            $('.main_slider .rt_arrow').click();
         }, 4500);

         $('.main_slider').hover(function() {
            clearInterval(interval);
         });
         $('.main_slider').mouseleave(function() {
            inte();
         });
     }
    inte();


$('.main_slider .rt_arrow') - это вперед. Можно ли сделать по-другому на данном плагине? т.к. она подглючивает и с течением времени пролистывает по 2 слайда

Последний раз редактировалось Nesquik, 05.01.2014 в 13:55.
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2014, 03:21
Geo Geo вне форума
Новичок на форуме
Отправить личное сообщение для Geo Посмотреть профиль Найти все сообщения от Geo
 
Регистрация: 12.01.2014
Сообщений: 2

На сколько я разобрался, дело в том, что при использовании jQuery можно задать более одного обработчика одному событию.
Например, при событии hover на .main_slider, такой код :
$('.main_slider').hover(function() {  alert('раз'); }
$('.main_slider').hover(function() {  alert('двас'); }

выдаст оба события, сначала первое, затем второе.

В вашем случае, каждый вызов функции inte(); добавляет для $('.main_slider') ещё один mouseleave с вызовом функции inte();

Т.е.
навели раз, и при mouseleave вызываеться inte();
навели два, и при mouseleave вызываеться inte();inte(); (т.е. создаются два таймера),

Решение:

либо делать $('.main_slider').unbind('mouseleave'); (и hover) в .mouseleave(function(){ , либо, заменить
$('.main_slider').mouseleave(function() {
	            inte();
	         });
на

$('.main_slider').mouseleave(function() {
	           interval = setInterval(function(){
	            $('.main_slider .rt_arrow').click();
	         }, 4500);
	         });

ПС: сам я только изучаю JS, так что возможно что-то упустил.

Последний раз редактировалось Geo, 13.01.2014 в 03:24.
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2014, 05:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Nesquik,
а встроенный Auto Scroll ?
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2014, 20:15
Интересующийся
Отправить личное сообщение для Nesquik Посмотреть профиль Найти все сообщения от Nesquik
 
Регистрация: 04.01.2014
Сообщений: 29

Хех, есть такое дело, а ховер на колбек предлагаете вешать?
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2014, 22:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Nesquik,
hover можно встроить в плагин
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2014, 00:29
Интересующийся
Отправить личное сообщение для Nesquik Посмотреть профиль Найти все сообщения от Nesquik
 
Регистрация: 04.01.2014
Сообщений: 29

А именно профессор?
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2014, 07:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Nesquik,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <base href="http://www.gmarwaha.com/jquery/jcarousellite/" />
  <meta charset="utf-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <script>
(function (d) {
    function g(a, e) {
        return parseInt(d.css(a[0], e)) || 0
    }

    function u(a) {
        return a[0].offsetWidth + g(a, "marginLeft") + g(a, "marginRight")
    }

    function v(a) {
        return a[0].offsetHeight + g(a, "marginTop") + g(a, "marginBottom")
    }
    d.fn.jCarouselLite = function (a) {
        a = d.extend({
            btnPrev: null,
            btnNext: null,
            btnGo: null,
            mouseWheel: !1,
            auto: null,
            speed: 200,
            easing: null,
            vertical: !1,
            circular: !0,
            visible: 3,
            start: 0,
            scroll: 1,
            beforeStart: null,
            afterEnd: null
        }, a || {});
        return this.each(function () {
            function e(h) {
                if (!g) {
                    a.beforeStart && a.beforeStart.call(this, f.slice(b).slice(0, c));
                    if (a.circular) h <= a.start - c - 1 ? (k.css(q, -((l - 2 * c) * m) + "px"), b = h == a.start - c - 1 ? l - 2 * c - 1 : l - 2 * c - a.scroll) : h >= l - c + 1 ? (k.css(q, -(c * m) + "px"), b = h == l - c + 1 ? c + 1 : c + a.scroll) : b = h;
                    else {
                        if (0 > h || h > l - c) return;
                        b = h
                    }
                    g = !0;
                    k.animate("left" == q ? {
                        left: -(b * m)
                    } : {
                        top: -(b * m)
                    }, a.speed, a.easing, function () {
                        a.afterEnd && a.afterEnd.call(this, f.slice(b).slice(0, c));
                        g = !1
                    });
                    a.circular || (d(a.btnPrev + "," + a.btnNext).removeClass("disabled"), d(0 > b - a.scroll && a.btnPrev || b + a.scroll > l - c && a.btnNext || []).addClass("disabled"))
                }
                a.auto && (s = window.setTimeout(function () {
                    e(b + a.scroll)
                }, a.auto + a.speed));
                return !1
            }
            var g = !1,
                q = a.vertical ? "top" : "left",
                t = a.vertical ? "height" : "width",
                n = d(this),
                k = d("ul", n),
                p = d("li", k),
                r = p.size(),
                c = a.visible;
            a.circular && (k.prepend(p.slice(r - c - 1 + 1).clone()).append(p.slice(0, c).clone()), a.start += c);
            var f = d("li", k),
                l = f.size(),
                b = a.start,
                s;
            n.css("visibility", "visible");
            f.css({
                overflow: "hidden",
                "float": a.vertical ? "none" : "left"
            });
            k.css({
                margin: "0",
                padding: "0",
                position: "relative",
                "list-style-type": "none",
                "z-index": "1"
            });
            n.css({
                overflow: "hidden",
                position: "relative",
                "z-index": "2",
                left: "0px"
            });
            var m = a.vertical ? v(f) : u(f),
                p = m * l,
                r = m * c;
            f.css({
                width: f.width(),
                height: f.height()
            });
            k.css(t, p + "px").css(q, -(b * m));
            n.css(t, r + "px");
            a.btnPrev && d(a.btnPrev).click(function () {
                return e(b - a.scroll)
            });
            a.btnNext && d(a.btnNext).click(function () {
                return e(b + a.scroll)
            });
            a.btnGo && d.each(a.btnGo, function (b, c) {
                d(c).click(function () {
                    return e(a.circular ? a.visible + b : b)
                })
            });
            a.mouseWheel && n.mousewheel && n.mousewheel(function (c, d) {
                return 0 < d ? e(b - a.scroll) : e(b + a.scroll)
            });
            a.auto && e(b + a.scroll);
            d(this).hover(function () {
                window.clearTimeout(s)
            }, function () {
                a.auto && e(b + a.scroll)
            })
        })
    }
})(jQuery);</script>
<script>$(document).ready(function(){
    $(".default .jCarouselLite").jCarouselLite({
    auto: 300,
    speed: 1000
    });
});

</script>
</head>

<body>
<div class="carousel default">
    <div class="jCarouselLite">
        <ul>
            <li><img src="image/1.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/2.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/3.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/4.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/5.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/6.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/7.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/8.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/9.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/10.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/11.jpg" alt="" width="150" height="118"></li>
        </ul>
    </div>
    <div class="clear"></div>
</div>
<div class="carousel default">
    <div class="jCarouselLite">
        <ul>
            <li><img src="image/1.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/2.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/3.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/4.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/5.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/6.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/7.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/8.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/9.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/10.jpg" alt="" width="150" height="118"></li>
            <li><img src="image/11.jpg" alt="" width="150" height="118"></li>
        </ul>
    </div>
    <div class="clear"></div>
</div>
</body>

</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jCarouselLite и обновление (F5) Dimasick Элементы интерфейса 3 15.04.2016 16:49
jCarouselLite DjTarik jQuery 2 04.01.2014 23:56
Автопрокрутка pdf файла <object data="test.pdf" type="application/pdf"> Shevtcoff Элементы интерфейса 0 03.10.2013 13:52
Автопрокрутка по input sergiocharm Общие вопросы Javascript 1 02.06.2013 14:27
Автопрокрутка карусельки culver jQuery 1 10.05.2012 22:03