监听页面滚动及滚动到指定位置

两种监听页面滚动的方法

一、原生js通过window.onscroll监听
window.onscroll = function() {
//为了保证兼容性,这里取两个值,哪个有值取哪一个
//scrollTop就是触发滚轮事件时滚轮的高度
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
console.log("滚动距离" + scrollTop);
}

二、Jquery通过$(window).scroll()监听
$(window).scroll(function() {
//为了保证兼容性,这里取两个值,哪个有值取哪一个
//scrollTop就是触发滚轮事件时滚轮的高度
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
console.log("滚动距离" + scrollTop);
})

将页面滚动到指定位置
主要使用的是锚点技术,锚点元素通过scrollTop值改变进行定位。
锚点
锚点是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样,是一种页面内的超级链接。
法一 直接使用scrollTop
使用scrollTop方法,x为滚轮的高度
$("body,html").scrollTop(x);
加动画的滚动
// 滚动到指定位置
$('html, body').animate({
scrollTop: $("#div1").offset().top
}, 2000);

// 滚动到顶部,指定距顶部的距离
$('.scroll_top').click(function(){
$('html,body').animate({
scrollTop: '0px'
}, 800);
});

方法二 利用hash
hash
hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)。
location.hash=anchorname。
例如:以下地址的hash为#hot
http://this.summer.io/is/#hot // location.hash → #hot

以下函数将页面定位到title元素
function aa(){
window.location.hash = "#title";
}

法三 直接使用超链接锚点
点击a标签页面将会定位到anchor1元素
<a href="#anchor1">锚点1</a>

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值