JQuery 实现在同一页面锚点链接之间的平滑滚动

JavaScript07

JQuery 实现在同一页面锚点链接之间的平滑滚动,第1张

web开发前端一直用JQuery

,真正接触了才体会到,JQuery

原来比我想象的要强大的多,也可能比我体会到的还要强大的多,特别是兼容性那个好,于是把一些好玩的,酷炫的,可以代替

JS

的,统统给用上了。

JQuery

引入今天的正题,用

JQuery

实现锚点链接之间的平滑滚动。以前介绍过一个用

JS

实现的页面锚点跳转缓冲特效,效果相当不错,可以在同一页面的锚点链接之间实现平滑的滚动,但是

JS

代码相对来说比较冗长,现在好了,只要已经加载了

JQuery,我们就可以用较为简短的代码实现相同的效果。

使用方法如下:

1、载入

JQuery

库;

2、关键代码:

$(document).ready(function()

{

$('a[href*=#]').click(function()

{

if

(location.pathname.replace(/^\//,

'')

==

this.pathname.replace(/^\//,

'')

&&

location.hostname

==

this.hostname)

{

var

$target

=

$(this.hash)

$target

=

$target.length

&&

$target

||

$('[name='

+

this.hash.slice(1)

+

']')

if

($target.length)

{

var

targetOffset

=

$target.offset().top

$('html,body').animate({

scrollTop:

targetOffset

},

1000)

return

false

}

}

})

})

还是再要强调一下加载的顺序,先引用JQuery

类库。顺便说一下,经测试,该滚动效果在各浏览器下都兼容适用,唯有在

Opera

下表现有点怪异,还有待改进。

有两种方法。

1、通过div的scrollTop变动控制垂直滚动条位置。通过div的scrollLeft变动控制水平滚动条位置。

示例:

<body>

//d1是外层div,带滚动条

<div id='d1' style='height:200pxwidth:100pxoverflow:autobackground:blue'>

<div style='height:500pxwidth:500pxbackground:yellow'>2222</div>

</div>

</body>

<script>

document.getElementById('d1').scrollTop=100//通过scrollTop设置滚动到100位置

document.getElementById('d1').scrollLeft=200//通过scrollTop设置滚动到200位置

</script>

2、用html锚点

如下:

<a href="#test">aaaaa</a>

<div id="test">lalallalalalala</div>

扩展资料

1、JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

(1)、是一种解释性脚本语言(代码不进行预编译)。

(2)、主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

(3)、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

(4)、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

2、JavaScript脚本语言具有以下特点:

(1)、脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

(2)、基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)、简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)、动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

(5)、跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。

参考资料:百度百科:JavaScript