快速导航

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);
};
时间: 2024-10-13 11:41:25

快速导航的相关文章

低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航

Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actionbar05; import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBar; import a

通讯录--快速导航(SideBar)

转载请注明出处: http://blog.csdn.net/forwardyzk/article/details/42914555 在我们查看联系人,通讯录时,我们会看到侧边有一个快速导航的侧栏(ABCCEFG.....Z#),下面就介绍一个这个的Demo 首先自定义一个滑动菜单SideBar,可以根据首字母快快速定位 public class SideBar extends View { // 触摸事件 private OnTouchingLetterChangedListener onTou

Confluence 6 配置快速导航

当在 Confluence 中的快速导航进行查找的时候(请查看 Searching Confluence)能够帮助你显示页面下拉列表和其他的项目,这个是通过查找页面标题进行比对的.在默认情况下,这个功能是启用的,并且最大允许用户同时使用这个功能的用户数量被限制为 40.这些参数可以通过下面描述的方法进行修改. 最大数量的快速导航同时搜索功能的数量限制了同时在 Confluence 服务器上使用这个功能的用户数量.如果你的 Confluence 服务器上有大量的独立用户,同时这些用户有都经常使用这

Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令

相关博客:https://linux.cn/article-3401-1.html 对于那些主要通过控制台或终端使用 Linux 命令行来工作的 Linux 用户来说,他们真切地感受到了 Linux 的强大. 然而在 Linux 的分层文件系统中进行导航有时或许是一件头疼的事,尤其是对于那些新手来说. 现在,有一个用 Python 写的名为 autojump 的 Linux 命令行实用程序,它是 Linux 'cd'命令的高级版本. Autojump – Linux 文件系统导航的最快方式 这个

SQL Server 系列文章快速导航(SWF版)

一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软SQL Server方面的最有价值专家(MVP),并荣幸的在4月份获得此殊荣. 今天整理了下文章,为了让大家更容易检索到(这里指人而不是所谓的SEO)我的文章,所以生成了一份SWF,以图形的方式,大家可以通过里面的链接快速进入文章,而且大家也可以下载这份SWF到本地,同样可以快速浏览. 二.SQL S

SharePoint 学习快速导航

根据我的学习过程,会不断的增加一些学习的快速链接 . 入门篇 SharePoint入门链接,针对刚刚开始了解SharePoint 的朋友,我也是处在入门的状态,随后会慢慢的累积增加 安装 | 部署 | 架构 | 了解SharePoint基本状况 | 门户网站的开发 | 开发工具 APP开发 | 身份认证 | 进阶篇 系统优化 |  扩展部署 | 分布式架构 | 高手篇 暂无

JAVASE 快速导航

Java反射: (1)Java反射机制(Reflection) (2)java.lang.Class (3)java.lang.reflect.Field (4)java.lang.reflect.Constructor (5)java.lang.reflect.Method

仿iphone快速导航悬浮球

用过iphone的朋友都知道,iPhone有个圆球辅助工具,它漂浮在你的手机屏幕(在任何APP之上),你可以将它移动到任何地方,它叫做AssistiveTouch,本篇模拟该软件实现一个小案例,主要是实现它的界面,首先来看看实现的效果吧: 拖动小圆球: 点击弹出pop窗口: 为了让辅助工具一直悬浮在窗口之上,这里使用的机制是通过在程序初始化是,启动一个service,在service的onCreate() 函数中使用LayoutInflater来加载一个view,而这个view就是辅助球的布局文

【转】仿Android 联系人SideBar排序,根据拼音A-Z字母快速导航,以及输入搜索条件过滤,显示姓名的文字图片

1.首先我们把这几个工具类拷贝到自己的项目中,这些都是很常见的类: CharacterParser       –这是用来把中文转成拼音的工具类 PinyinComparator   –拼音首字母的比较器 SideBar                    –右侧的竖条,显示的是二十六个字母以及*,和#号 SortModel               –放排序name和key的bean 1 public class CharacterParser { 2 private static int