jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作) 经典

1.锚点跳转简介

Edit

锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。比如百度的百科页面,wiki中的page内容。

我知道实现锚点的跳转有两种形式,一种是a标签+name属性;还有一种就是使用标签的id属性。百度百科就是使用a标签的name属性来实现锚点跳转的。

比如:

<a href=”#2”>波轮洗衣机介绍</a> <a name=”2”></a>

但是上种方法使用了一个空标签,而且有时候会出现锚点失效。所以建议采用id来绑定锚点,代码如下:

<a href=”#2”>波轮洗衣机介绍 <h2 id=”2”>波轮洗衣机介绍</h2>

2.含锚点跳转的URL地址

Edit

【1】关于#

在页面的制作中,”#”的符号很常见,并且具有通用性。基本上,其表示的含义是id选择符。例如:CSS中#header{}就表示id为header的标签的样式如何;在jQuery中,$(“#header”)表示选择id为header的标签为JQuery对象;同样的,在页面的URL中,”#”也可以理解为id选择符之意,也就是页面跳转到含URL指向的id的标签处。

例如输入一个地址 http://baike.baidu.com/view/121416.htm?pf=1#3

这个地址中末尾有个”#”,这个就相当于告诉浏览器要跳转了,#后面跟着的3表示会在http://baike.baidu.com/view/121416.htm?pf=1 的页面中寻找符合”#3”特点的标签,并且执行跳转。

【2】关于空锚点指向

如果URL中的”#”后面跟随的字符id在文中找不到,就会有两种情况:如果是在当前页面,除了URL地址变化了,其它的不会改变,页面不会有跳转;如果是从其它页面跳转过来,则页面会在顶部显示,”#”基本就是聋子的耳朵——摆设。

3.JQuery下锚点的平滑跳转

Edit

对于锚点的平滑跳转,在一般的商业性质的网站上,权衡来说,要谨慎使用。

例如:让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,关键位置 如下:

$(“html,body”).animate({scrollTop:$(“#box”).offset().top},1000)

其中animate为JQuery的自定义动画方法,$(“#box”).offset().top表示id为box的JQuery对象距离页面顶部的偏移值,1000表示平滑动画执行的时间为1000毫秒,也就是1秒。

4.IE下锚点刷新失效及JQuery下的解决

Edit

【1】关于锚点刷新失效

锚点刷新失效就是指当按下刷新键F5时,即使此时URL的后面就随锚点,此锚点也是不起作用的。

【2】在JQuery中,不难实现。可以根据URL获取锚点,从而进一步获得对应锚点对象,然后再让页面的滚动高度为其距离页面顶部的偏移值就可以了。使得页面无论是重新载入还是其刷新,其后面的锚点都起作用。

其js代码如下:

$(function(){

    var url = window.location.toString();

    var id = url.split(“#”)[1];

   if(id){

      var t = $(“#”+id).offset().top;

      $(window).scrollTop(t);

   }

});

时间: 2024-10-21 03:21:11

jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作) 经典的相关文章

jQuery锚点跳转及相关操作

1.锚点跳转简介 锚点其实就是可以让页面定位到某个位置上的点.在高度较高的页面中经常见到.比如百度的百科页面,wiki中的page内容. 我知道实现锚点的跳转有两种形式,一种是a标签+name属性:还有一种就是使用标签的id属性.百度百科就是使用a标签的name属性来实现锚点跳转的. 比如: <a href=”#2”>波轮洗衣机介绍</a> <a name=”2”></a> 但是上种方法使用了一个空标签,而且有时候会出现锚点失效.所以建议采用id来绑定锚点,

如何在一个页面上让多个jQuery

如何在一个页面上让多个jQuery共存呢?比如jquery-1.5和jquery-1.11. 你可能会问,为什么需要在一个页面上让多个jQuery共存?直接引用最新版本的jQuery不行吗? 答案是,不行.因为现实生活是非常残酷的.举个栗子: 现有网站已经引用了jQuery 1.5以及相关插件.如果直接将jQuery升级到最新版,这些插件就不工作了,除非你能把这些插件全部升级,或者等各个插件的作者发布支持最新版jQuery的版本. 现在,如果我们要基于jQuery开发新的插件或者写JavaScr

Javascript/jQuery根据页面上表格创建新汇总表格

任务背景及需求 按页面上的现成表格,用js生成新的统计表格如下: 实现思路 1,把表格数据抽取出来生成json数组 2,计算表格总数并创建空表格 3,历遍json数组把数据动态插入所有的表格,设值/append Row 4,最后配置好所有表格的属性如thead,rowspan等 详细代码 /** * @create: nelson * @initBPDTable 初始化表格内容 * @调用方式 $("#main_content").initBPDTable(list); */ $.fn

html,图片上传预览,input file获取文件等相关操作

input file常用方法: var obj=document.getElementById("upimage"); var file=obj.files[0];//获取文件数据 var path=obj.value;//获取文件当前路径 var size=obj.files[0].size;//获取文件大小 var prefix=path.substring( path.lastIndexOf('\\')+1 );//获取文件名的前缀名(文件格式) var suffix=path.

如何在页面上减少用户操作?

页面上很多本该可以让用户少操作的地方,都没有做好优化,导致一个相同的页面,用户在其他app可能输入一次或点击一下就好了,在我们app可能操作要翻倍.所以给用户留下了繁琐.难操作的印象. 最近有同事在公司反馈:"有用户说xx流程.xx流程太繁琐了."产品经理反驳:"怎么可能,我已经对标过业内很多体验很好的app,流程上的步骤我敢保证我们绝对不比别人多." 作为"好事"的交互,我决定走查一下流程,看看问题出在哪里. 产品经理没有说谎,被用户吐槽的几个

jQuery手机端上拉刷新下拉加载更多页面

<!doctype html> <html> <head> <title>jquery 手机端上拉刷新下拉加载更多页面</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="viewpost" content="width=device-wi

jQuery实现页面滚动时智能浮动定位

<!DOCTYPE html><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>jQuery实现页面滚动时层智能浮动定位_前端开发</title>    <style type="text/css">        * { 

jquery,从后台查数据,给页面上添加树形。

前台jquery+ajax请求往页面上添加树形的js代码 1 //传入当前点击节点的id,在后台代码查询出parentid=当前节点id的记录数,从而实现点击当前节点,往后台发送ajax请求,查询出子节点的集合,往父节点下拼接页面 2 function treeNode(pid){ 3 4 //如果<li id="pid">标签下的<ul>的长度为1,则说明需要发送ajax请求,往其中添加子节点.如果长度大于1说明添加过了,不用再次发送ajax请求.直接进els

jQuery实现页面元素智能定位

原文:jQuery实现页面元素智能定位 源代码下载地址:http://www.zuidaima.com/share/1550463635950592.htm