Как сдвинуть / выключить div на странице с помощью jQuery - PullRequest
3 голосов
/ 26 сентября 2011

Я пытаюсь создать функцию, которая сдвигает / выключает div на странице в зависимости от того, какая кнопка / ссылка нажата.

Основная структура:

<div class="button"><a href="#">Click Box #1</a> </div>
<div class="button"><a href="#">Click Box #2</a> </div>
<div class="button"><a href="#">Click Box #3</a> </div>

<div id="container">

    <div id="box1" class="box">Box #1</div>
    <div id="box2" class="box">Box #2</div>
    <div id="box3" class="box">Box #3</div>

</div>

В настоящее время я 'm, используя

$('.button').click(function() {
    $('.box').each(function() {

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

Пример того, что у меня пока есть : http://jsfiddle.net/ykbgT/538/

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Если вы всегда хотите отобразить n-ное поле, где n - индекс ссылки, по которой вы щелкнули, попробуйте что-то вроде этого:

$('.button').click(function() {
    var index = $(this).index(".button");
    var $box = $(".box:eq(" + index + ")");

    $(".box").not($box).animate({
        left: '150%'
    }, 500);

    if ($box.offset().left < 0) {
        $box.css("left", "150%");
    } else if ($box.offset().left > $('#container').width()) {
        $box.animate({
            left: '50%',
        }, 500);
    }
});

Обновленный пример: http://jsfiddle.net/andrewwhitaker/2uV2h/

0 голосов
/ 26 сентября 2011

Самый гибкий способ - добавить в тег DIV пользовательский атрибут с именем идентификатора соответствующего ящика.Например:

<div class="button" boxid="box1">....

Тогда в вашей функции клика:

$('.button').click(function() {
    mybox=$(this).attr("boxid");
    $(mybox).[whatever code you need to slide the DIV in and out of the screen]
    ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...