2013-05-30 2 views
1

Когда я нажимаю #download, #musicDownload div слайд вниз и увеличивает высоту страницы. После этого я хотел бы прокрутить вниз до начала этого div.
До сих пор мне удалось прокрутить вниз, насколько позволяет высота старой страницы.jQuery: slideDown увеличивает высоту страницы, затем прокрутка вниз

Это код, который у меня есть. (без прокрутки)
Не стесняйтесь также корректировать код, если есть «лучший» способ.

$(document).ready(function() { 
$("#download").click(function() { 
    $("#musicDownload").slideToggle(500); 
    return false; 
}); 

$("html").click(function(){ 
    $("#musicDownload").slideUp(500); 
}); 

$("#musicDownload").click(function(event) { 
    event.stopPropagation(); 
}); 
}); 

ответ

2

Поэтому я решил это, добавив функцию обратного вызова к методу slideToggle, которая проверяет, является ли div видимым.
НЕТ:

$("#download").click(function() { 
    $("#musicDownload").slideToggle(500, function(){ 
     if($("#musicDownload").is(":visible")){ 
      $("html, body").animate({scrollTop: $("#download").offset().top},500); 
     } 
    }); 
    return false; 
}); 
Смежные вопросы