Кнопки слайдера изображения «следующая» и «предыдущая» не работают

Я не могу заставить ползунок изображений jquery прокручивать следующий набор изображений. Он продолжает возвращать меня к началу страницы, когда я нажимаю на следующую стрелку. Я не уверен, правильно ли настроен следующий ряд изображений. Извините, но я новичок в использовании jquery.

HTML

<div id="wrapper2">
<label style="color: #5C5C5C;display: block; font-weight: bold; font-size:16px; text-align: center;margin-bottom:0px;padding-bottom:20px;">Reaching our Goal is proud to partner with great organizations</label>
        <div id="thumbs-wrapper2">
            <div id="thumbs">
                <a class="selected" href="#2"><img src="/assets/images/ROG_p.jpg" /></a>
                <a href="#"><img src="/assets/images/gametime_p.jpg" /></a>
                <a href="#"><img src="/assets/images/american_p.jpg" /></a>
                <a href="#"><img src="/assets/images/bfs_p.jpg" /></a>
                <a href="#"><img src="/assets/images/vballfestival_p.jpg" /></a>
                <a href="#"><img src="/assets/images/yfbca_p.jpg" /></a>
                <a href="#"><img src="/assets/images/sportsattack_p.jpg" /></a>
                <a href="#"><img src="/assets/images/ROG_p.jpg" /></a>
                <a href="#"><img src="/assets/images/gametime_p.jpg" /></a>
                <a href="#"><img src="/assets/images/american_p.jpg" /></a>
                <a href="#"><img src="/assets/images/bfs_p.jpg" /></a>
                <a href="#"><img src="/assets/images/vballfestival_p.jpg" /></a>
                <a href="#"><img src="/assets/images/yfbca_p.jpg" /></a>
                <a href="#"><img src="/assets/images/sportsattack_p.jpg" /></a>
            </div>
            <a id="prev" href="#"></a>
            <a id="next" href="#"></a>
        </div>
</div>

сценарий

$('#thumbs').carouFredSel({
        responsive: true,
        auto: true,
        prev: '#prev',
        next: '#next',
        items: {
            visible: 
             min: 2,
             max: 4
            },
            width: 150,
            height: '25%'
    });
    });

    $('#thumbs a').click(function() {
        $('#carousel').trigger('slideTo', '#'+this.href.split('#').pop());
        $('#thumbs a').removeClass('selected');
        $(this).addClass('selected');
        return false;
    });

css

#wrapper2 {
    position: relative;
    width: 100%;
    top: 50px;
}
#carousel, #thumbs {
    overflow: hidden;
    height: 62px;
}

#carousel span, #carousel img,
#thumbs a, #thumbs img  {
    display: block;
    float: left;
}
#carousel span, #carousel a,
#thumbs span, #thumbs a {
    position: relative;
}
#carousel img,
#thumbs img {
    border: medium none;
    height: 58px;
    left: 0;
    position: relative;
    top: 0;
    width: 100px;
}
#carousel img.glare,
#thumbs img.glare {
    width: 102%;
    height: auto;
}

#thumbs-wrapper2 {
    padding: 20px 40px;
    position: relative;
    width: 73%;
    margin: -18px 0 0 162px;
    height: 90px;
}
#thumbs a {
    height: 58px;
    margin: 0 10px;
    overflow: hidden;
    width: 100px;
    border: 2px solid #899;
    border-radius: 10px;
    -webkit-transition: border-color .5s;
    -moz-transition: border-color .5s;
    -ms-transition: border-color .5s;
    transition: border-color .5s;

}
#thumbs a:hover, #thumbs a.selected {
    border-color: #566;
}

#prev, #next {
    display: block;
    height: 50px;
    margin: -38px 0 0 -35px;
    position: absolute;
    top: 50%;
    width: 50px;
}
#prev {
    background-image: url(/assets/images/left.jpg);
    background-position: 0 0;
    left: 10px;
}
#next {
    background-image: url(/assets/images/right.jpg);
    background-position: -50px 0;
    right: 33px;
}           
#prev:hover { 
    background-position: 0 0;               
}
#next:hover {
    background-position: -50px 0;               
}

#prev.disabled, #next.disabled {
    display: none !important;
}

person Anya    schedule 15.05.2012    source источник


Ответы (2)


href="#" в ваших следующих и предыдущих тегах вызывает это. удалите их или измените на href="javascript:void(0)"

person Crayon Violent    schedule 15.05.2012

Убедитесь, что ваш javascript находится ниже html, или окружите его, используя $(function()

$(function() {
   $('#thumbs').carouFredSel({
        responsive: true,
        auto: true,
        prev: '#prev',
        next: '#next',
        items: {
            visible: 
             min: 2,
             max: 4
            },
            width: 150,
            height: '25%'
    });
    });

    $('#thumbs a').click(function() {
        $('#carousel').trigger('slideTo', '#'+this.href.split('#').pop());
        $('#thumbs a').removeClass('selected');
        $(this).addClass('selected');
        return false;
    });
});

Кроме того, поведение большинства браузеров по умолчанию заключается в том, чтобы вывести вас наверх страницы всякий раз, когда они видят # в href, вы можете указать ему прекратить это поведение, вызвав .preventDefault() для объекта event, переданного click().

$('#thumbs a').click(function(e) {
    e.preventDefault(); // add this
    $('#carousel').trigger('slideTo', '#'+this.href.split('#').pop());
    $('#thumbs a').removeClass('selected');
    $(this).addClass('selected');
    return false;
});

РЕДАКТИРОВАТЬ: проблема вызвана синтаксической ошибкой:

$('#thumbs').carouFredSel({
        responsive: true,
        auto: true,
        prev: '#prev',
        next: '#next',
        items: {
            visible: // here you forgot to assign anything to visible
             min: 2,
             max: 7
person Andreas Wong    schedule 15.05.2012
comment
это помогло остановить переход к началу страницы, но стрелки по-прежнему не работают для прокрутки к следующему набору изображений ... есть мысли? Спасибо! - person Anya; 15.05.2012
comment
Все равно ничего хорошего. Я также попытался перейти ниже html. Любые другие мысли? Я ценю всю помощь. - person Anya; 15.05.2012
comment
@Anya отредактировала мой ответ :), одна вещь, которую вы, возможно, захотите узнать, это отладить свое веб-приложение, если вы используете Chrome, перейдите на свою страницу, нажмите F12, затем щелкните вкладку консоли (там вы увидите синтаксическую ошибку) - person Andreas Wong; 15.05.2012
comment
Я это тоже настроил. Все равно ничего хорошего. IDK, чего мне не хватает, но я чувствую, что перепробовал все. - person Anya; 15.05.2012
comment
@Anya У вас много 404, и эти пути кажутся недействительными (может быть, измените /path/to/xxx на ваш реальный путь?): GET anya.reachingourgoal.org/path/to/jquery.easing.1.3.js 404 (не найдено) anya.reachingourgoal.org/:15GET anya.reachingourgoal.org/path/to/jquery-1.4.2.min.js 404 (не найдено) .. и т. д. - person Andreas Wong; 15.05.2012