`

关于锚点

阅读更多

对于定位到一个锚点,最常见的方法就是在url后面加上“#和锚点的name值”,
下面先介绍一种如何采用Javascript定位锚点的方法:
window.location.hash="anchorname"
比如一个锚点:<a name="anchor1"></a>
那么采用window.location.hash="anchor1"就可以定位到锚点处。

下面介绍一种平滑移动到指定锚点的方法,此方法是采自ThickBox:
js代码:

 

// 转换为数字 
function intprase(v){
    v = parseInt(v);
    return isNaN(v) ? 0 : v;
}

// 获取元素信息 
function getInfo(e){
    var l = 0;
    var t = 0;
    var w = intprase(e.style.width);
    var h = intprase(e.style.height);
    var wb = e.offsetWidth;
    var hb = e.offsetHeight;
    while (e.offsetParent) {
        l += e.offsetLeft + (e.currentStyle ? intprase(e.currentStyle.borderLeftWidth) : 0);
        t += e.offsetTop + (e.currentStyle ? intprase(e.currentStyle.borderTopWidth) : 0);
        e = e.offsetParent;
    }
    l += e.offsetLeft + (e.currentStyle ? intprase(e.currentStyle.borderLeftWidth) : 0);
    t += e.offsetTop + (e.currentStyle ? intprase(e.currentStyle.borderTopWidth) : 0);
    return {
        x: l,
        y: t,
        w: w,
        h: h,
        wb: wb,
        hb: hb
    };
}

// 获取滚动条信息 
function getScroll(){
    var t, l, w, h;
    if (document.documentElement && document.documentElement.scrollTop) {
        t = document.documentElement.scrollTop;
        l = document.documentElement.scrollLeft;
        w = document.documentElement.scrollWidth;
        h = document.documentElement.scrollHeight;
    }
    else 
        if (document.body) {
            t = document.body.scrollTop;
            l = document.body.scrollLeft;
            w = document.body.scrollWidth;
            h = document.body.scrollHeight;
        }
    return {
        t: t,
        l: l,
        w: w,
        h: h
    };
}

// 锚点(Anchor)间平滑跳转 
function glide(el, duration){
    if (typeof el != 'object') {
        el = document.getElementById(el);
    }
    if (!el) 
        return;
    var z = this;
    z.el = el;
    z.p = getInfo(el);
    z.s = getScroll();
    z.clear = function(){
        window.clearInterval(z.timer);
        z.timer = null
    };
    z.t = (new Date).getTime();
    z.step = function(){
        var t = (new Date).getTime();
        var p = (t - z.t) / duration;
        if (t >= duration + z.t) {
            z.clear();
            window.setTimeout(function(){
                z.scroll(z.p.y, z.p.x)
            }, 13);
        }
        else {
            st = ((-Math.cos(p * Math.PI) / 2) + 0.5) * (z.p.y - z.s.t) + z.s.t;
            sl = ((-Math.cos(p * Math.PI) / 2) + 0.5) * (z.p.x - z.s.l) + z.s.l;
            z.scroll(st, sl);
        }
    };
    z.scroll = function(t, l){
        window.scrollTo(l, t)
    };
    z.timer = window.setInterval(function(){
        z.step();
    }, 13);
}

 

 

经过测试,这段JS代码在IE和FF中均可运行。

具体使用方法:glide(anchorid, millisecond)

其中,anchorid为锚点的id,millisecond为移动到指定锚点的毫秒数。

 

分享到:
评论
1 楼 Rooock 2009-12-17  
很好.很强大

相关推荐

    双锚点区域NSA终端无法占用锚点导致无法驻留5G问题优化报告(锚点优选参数“五步检查法.docx

    2. **验证系统消息**:分析系统消息中关于锚点选择的参数设置,如优先级、重选参数等是否合理。 3. **评估覆盖质量**:通过CPE测试工具收集覆盖质量数据,检查锚点和5G NR站的覆盖范围和强度是否满足要求。 4. **...

    关于锚点跳转及jQuery下相关操作与插件

    一、锚点跳转简介 锚点嘛,业余点的解释就是可以让页面定位到某个位置的点。在高度较高的页面中经常见到,例如,百度百科页面,《火影忍者》这个词条,结果就会看到如下的锚点列表: 点击其中一个链接,就会跳转到...

    实现锚点的带动画效果

    锚点结合动画效果可以为用户体验增添一份动态美感,使其更加流畅和吸引人。本文将深入探讨如何实现锚点的带动画效果,并提供相关实践方法。 一、理解锚点基础 1. 锚点定义:锚点是HTML中的`&lt;a&gt;`标签的一种特殊用法...

    JS锚点平滑跳转

    JavaScript 锚点平滑跳转是一种在网页中实现页面内部导航时提供平滑过渡效果的技术。传统的HTML锚点链接可以直接跳转到页面内的某个特定位置,但这种跳转通常是瞬间完成,缺乏用户体验上的平滑性。JS锚点平滑跳转则...

    关于使用锚点时被顶部遮挡

    在使用锚点的时候点击页面滚动到对应的位置,有时候有可能被顶部导航挡住,此时就可以使用改处理方式今天调整即可

    GEF锚点鼠标定位

    在图形编辑框架(GEF,Graphical Editing Framework)中,锚点(Anchor)是一个关键概念,它是连接模型元素之间的连接线在元素上的固定点。在GEF中,锚点的定位直接影响到连接线的形状和行为,特别是当用户通过鼠标...

    JS如何实现在页面上快速定位(锚点跳转问题)

    JS实现页面快速定位的技术主要涉及锚点跳转的概念和应用。锚点,也被称作片段标识符,其作用是允许用户点击链接后页面能够跳转到特定的位置。在网页设计中,尤其是在内容较多、页面较长的情况下,合理使用锚点可以...

    完整版设置控件锚点.rar

    在UI设计和编程中,控件锚点是一个关键概念,用于确定控件在容器或窗口中的位置和大小如何根据容器的变化而变化。锚点机制允许开发者创建响应式用户界面,这样无论屏幕尺寸如何,界面都能保持良好的布局。下面将详细...

    微信小程序 外卖:实现类似锚点功能 (源码)

    微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)微信小程序 外卖:实现类似锚点功能 (源码)...

    unity3d锚点快捷键脚本

    描述中的"ctrl+[:锚点跟随到节点放大缩小和对齐",意味着使用Ctrl+ [ 这个组合键可以实现锚点的特定功能,即让选定的UI元素的锚点与节点对齐,并在放大或缩小过程中保持其位置关系不变。这在调整UI布局时非常实用,...

    jQuery页面滚动显示浮动菜单栏锚点定位效果

    本主题聚焦于利用jQuery实现一个特定的功能——当页面滚动时,展示一个浮动菜单栏,并实现锚点定位效果。这个功能对于提高用户体验,尤其是内容丰富的长页面,是非常有用的,因为它可以帮助用户快速导航到页面的不同...

    台湾地图锚点.html

    台湾地图锚点

    易语言源码古木设定控件锚点例程.rar

    "古木设定控件锚点例程"是易语言中一个关于用户界面(UI)布局管理的示例代码,主要涉及到控件的锚点设置,这是GUI编程中的一个重要概念。 在Windows或其他图形用户界面系统中,控件的锚点决定了控件在窗口大小改变...

    完整版窗口-控件锚点.rar

    窗口控件锚点是软件开发中的一个重要概念,特别是在GUI(图形用户界面)设计中。它是一种布局管理技术,用于在窗口大小变化时自动调整控件的位置和大小,以保持特定的相对位置关系或比例。这一特性在Windows应用程序...

    古木设定控件锚点例程.rar

    古木设定控件锚点例程的资源,显然提供了一个关于如何在编程中处理控件定位和布局的实例。这里我们将深入探讨控件锚点及其在实际应用中的作用。 控件锚点,通常用于描述一个控件在容器中的相对位置,它决定了控件...

    小程序源码 外卖:实现类似锚点功能 (代码源)

    小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点功能 (代码源)小程序源码 外卖:实现类似锚点...

    易语言古木设定控件锚点例程

    在易语言中,“古木设定控件锚点例程”是一个关于用户界面布局管理的实例,主要涉及到控件的定位和尺寸调整。 控件锚点是窗口或对话框设计中的一个重要概念,它决定了控件如何随着容器(如窗口)大小的变化而自动...

    锚点导航栏效果

    这种效果通常应用于内容丰富的长页面,如产品介绍、文章详情或关于我们等页面。 首先,我们需要理解锚点的基本概念。在HTML中,锚点(Anchor)是通过`&lt;a&gt;`标签实现的,它允许我们在同一页面内创建链接,跳转到页面...

    html页面锚点跳转

    html页面锚点跳转

Global site tag (gtag.js) - Google Analytics