[JQuery]实现描点平滑移动

以前写过[定位到某个锚点]功能,使用的是#+描点名称,没有采用平滑功能。而实现平滑移动功能就需要用到JQuery的animate方法来实现动态的移动。请看如下代码:

/**
 * 描点平滑移动
 * 如果传递元素ID,则描点到该元素的位置
 * 如果没有传递元素ID(为空),则返回到顶部
 * @param {type} elements
 * @returns {undefined}
 */
function goto(elements) {
    var pos = 0;
    if (elements !== "") {
        // 定义将要去的描点位置
        pos = $(elements).offset().top;
    }
// 实现平滑移动 1000代表时间ms
    $("html,body").animate({scrollTop: pos-20}, 1000);
}