$ ("html"). animate ({scrollTop: $ (document) .height ()}, "slow"); если оно внизу, не прокручивайте его - PullRequest
1 голос
/ 24 марта 2011

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

Я пробовал переменные и операторы if

var i=0;
$('#link-slide13').click(function(){
        if (i==0){//nothing's been scrolled
            $("html").animate({ scrollTop: $(document).height() }, "slow");
            i=1;

        }else{
            //don't do anything
        }
});

Есть идеи?Спасибо за ответы!

Редактировать: Извините, я действительно не думаю, что я объяснил себе, http://ephemurl.com/4w/5ws здесь, это то, что я имею в данный момент, последние 6 секций отскакивают, чтобы пролистать дов нижней части документа, но я хочу, чтобы это происходило только один раз, а затем следующие 5 кликов не анимировать, потому что вы уже там ...

Ответы [ 3 ]

7 голосов
/ 24 марта 2011

просто используйте $ (body) вместо $ (html)

demo http://jsfiddle.net/APebY/

$(function(){
var i=0;
$('#link-slide13').click(function(){
        if (i==0){//nothing's been scrolled
            $("body").animate({ scrollTop: $(document).height() }, "slow");
            i=1;

        }else{
            //don't do anything
        }
});
});

Вы также можете использовать unbind в триггере событий, чтобы он запускался только один раз

$('#link-slide13').click(function(){

            $("body").animate({ scrollTop: $(document).height() }, "slow");

            $(this).unbind("click");
});
1 голос
/ 24 марта 2011

Не знаю, что именно вы пытаетесь сделать, я думаю, это должно вам помочь,

$('#link-slide13').toggle(function(){
    $("html").animate({ scrollTop: $(document).height() }, "slow");
},function(){
    //don't do anything
})

Удачи

0 голосов
/ 24 марта 2011

Мы не можем смотреть ваш html, но я думаю, что вы применили функцию только к одной кнопке с id = "link-slide13".Если это должно работать в трех кнопках, измените ваш селектор JQuery.(добавив класс ко всем кнопкам, вы можете выбрать все легко с помощью $ (". className")).

Тогда что такое кнопка?ссылка вход?Если кнопка является ссылкой

<a href="#">

, вы можете добавить предложение «false false» в конце функции.Это предотвращает использование ссылки по умолчанию и переход наверх документа.

Но, действительно ... в чем проблема?

...