JQuery плавный расход / коллапс аккордеон / карусель - PullRequest
0 голосов
/ 01 февраля 2011

С помощью переполнения стека я получил ответ о том, как сделать карусель / аккордеон здесь:

http://www.jsfiddle.net/Mottie/UdUus/117/

плавно открывать / закрывать без движения целиком. Ключом было свойство мало используемого шага.

Однако я пытаюсь выяснить, как настроить этот скрипт так, чтобы при загрузке все элементы имели одинаковую ширину, а затем расширялись / сжимались как необходимые при наведении курсора, а затем возвращались в исходное состояние при отпускании мыши.

Я пытался, но безрезультатно. У кого-нибудь есть идеи?

A.

Ответы [ 2 ]

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

Обновил jsfiddle

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

HTML

<div id="promo">
        <ul>
            <li class="promo1">d</li>
            <li class="promo2">d</li>
            <li class="promo3">d</li>
            <li class="promo4">d</li>
            <li class="promo5">d</li>
        </ul>
    </div>

CSS:

#promo { width:404x; height:200px; overflow:hidden; }
#promo ul { width:105%; }
#promo li { float:left; height:200px; margin-right:1px; width:50px; }
#promo .promo1 { background:red;}
#promo .promo2 { background:green; }
#promo .promo3 { background:red; }
#promo .promo4 { background:green; }
#promo .promo5 { background:red; margin-right:0px; }

JS:

var panels = $('#promo li');

panels.hoverIntent(

function() {
    if (!$(this).is('.expanded')) {
        $(this).animate({
            width: 200
        }, {
            step: function(width, ani) {
                var w = Math.floor(width);
                $('.expanded').css('width', (250 - w) + 'px');
                $(ani.elem).css('width', (200 - w) + 'px');
            },
            duration: 500,
            complete: function() {
                panels.removeClass('expanded');
                $(this).addClass('expanded');
            }
        });
    }
}, function() {});

$("#promo").hover(function() {}, function() {

    $("li.expanded", this).animate({
        width: 50,
        duration: 500
    }).removeClass("expanded");

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