1

当我按下div 向下滑动并增加页面的高度#download#musicDownload之后,我想向下滚动到该 div 的开头。
到目前为止,我只设法在旧页面高度允许的范围内向下滚动。

这是我得到的代码。(没有不工作的滚动)
如果有“更好”的方法,也可以随意调整代码。

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

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

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

1 回答 1

2

所以我通过向 slideToggle 添加一个回调函数来检查 div 是否可见来解决它。
像这样:

$("#download").click(function() {
    $("#musicDownload").slideToggle(500, function(){
        if($("#musicDownload").is(":visible")){
            $("html, body").animate({scrollTop: $("#download").offset().top},500);
        }
    });
    return false;
});
于 2013-06-03T10:49:56.757 回答