js上拉跳转原理

  今天遇到一个需要上拉跳转的地方,其原理跟上拉加载有点类似,代码如下

window.onscroll = function(){
   if(getScrollTop() + getClientHeight() == getTotalHeight()) {
        //执行跳转  ...对应你跳转的地址
        window.location.href = "...";
    }
}        

  应用场景,移动端商品详情页面,通过上拉进入到图文详情。

  解释一下:

  getScrollTop():获取滚动条卷去高度;

  getClientHeight():获取可视区的高度;

  getTotalHeight():获取整个页面的整体高度,即滚动条的总长度。

  

//获取滚动条当前的位置 
function getScrollTop() {
	var scrollTop = 0;
	if(document.documentElement && document.documentElement.scrollTop) {
		scrollTop = document.documentElement.scrollTop;
	} else if(document.body) {
		scrollTop = document.body.scrollTop;
	}
	return scrollTop;
}

//获取当前可视范围的高度 
function getClientHeight() {
	var clientHeight = 0;
	if(document.body.clientHeight && document.documentElement.clientHeight) {
		clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight);
	} else {
		clientHeight = Math.max(document.body.clientHeight, document.documentElement.clientHeight);
	}
	return clientHeight;
}

//获取文档完整的高度 
function getTotalHeight() {
	return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
}

  http://www.cnblogs.com/jiangbanji/p/6026755.html(这是我的后续文章)

 

  

转载于:https://www.cnblogs.com/jiangbanji/p/6025808.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值