快速导航

var $ = require("wiki-common:widget/lib/jquery/jquery.js"),
        scrollTo = require('wiki-common:widget/util/scrollTo.js');

    $('.qnItemWrap').on('click', function() {
        var target = $(this).attr('anchor');
        var top = $(document.getElementsByName(target)[0]).offset().top;

        scrollTo(top);
    });

调用时以上

<div class="quickNavWrap">
    <div class="qnTitle">快速导航</div>
    <div class="qnContent">
            <div class="qnItemWrap" anchor="actor2">
            <div class="qnItem">
                <span class="qnItemIcon qn_actor2"></span>
                <span class="qnItemCon">演员表</span>
            </div>
        </div>
            <div class="qnItemWrap" anchor="zhiyuanbiao">
            <div class="qnItem">
                <span class="qnItemIcon qn_zhiyuanbiao"></span>
                <span class="qnItemCon">职员表</span>
            </div>
        </div>
        </div>
</div>


<--跳到底下-->


<div class="anchor-list">
            <a name="zhiyuanbiao" class="lemma-anchor "></a>
    </div>
/**
 * @method scrollTo(targetValue, duration, callback, host, direction)    // 方法:卷动操作(参阅下文详述)。
 *   @param targetValue {Number}                                         // 参数:要卷动到的位置(可选,默认为 0)。
 *   @param duration {Number}                                            // 参数:卷动持续时长,单位 ms(可选,默认值:400)。
 *   @param callback {Function}                                          // 参数:卷动结束回调(可选,默认无)。
 *   @param host {Element|String}                                        // 参数:发生卷动的元素(可选,默认为 'body' 元素)。
 *   @param direction {String}                                           // 参数:卷动方向(可选,默认值:'ver',参阅下文详述)。
 *   @return No                                                          // 返回:无。
 *
 * @description    // 附加说明。
 *   1) scrollTo() 用于操作页面(或元素)内容的卷动(scrollTop/scrollLeft),默认操作页面卷动。
 *   2) 参数 direction 用于指定卷动方向,取值 'hor'(水平卷动) 或 'ver'(垂直卷动)。
 *
 * @example    // 典型的调用示例。
    var scrollTo = require('wiki-common:widget/util/scrollTo.js');

    // 卷动页面。
    scrollTo(200);

    // 卷动某元素。
    scrollTo(200, null, null, '#someContainerId');
 */

var $ = require('wiki-common:widget/lib/jquery/jquery.js'),
  browser = require('wiki-common:widget/util/browser.js'),
  animation = require('wiki-common:widget/util/animation.js');

module.exports = function(targetValue, duration, callback, host, direction){
  targetValue = isNaN(parseInt(targetValue)) ? 0 : parseInt(targetValue);
  duration = isNaN(parseInt(duration)) ? 400 : Math.abs(parseInt(duration));
  direction = /^(?:ver|hor)$/i.test(direction) && RegExp.$_.toLowerCase() == 'hor' ? 'Left' : 'Top';

  var scrollHost = $(host).length ? $(host)[0] : ((browser.ie() || browser.firefox()) ? document.documentElement : document.body),
    startValue = scrollHost['scroll' + direction],
    scrollDistance = targetValue - startValue;
  
  animation(duration, function(progress){
    scrollHost['scroll' + direction] = startValue + scrollDistance * progress;
  }, null, callback);
};
原文地址:https://www.cnblogs.com/zhangxinxin111/p/5239005.html