手机html5顶部返回上一页,mui返回页面顶部(移动端)代码实例

5b5cbcf2772a4a3f9e720efc74603719.png

点击页面图标,返回到页面顶部,mui中提供了一个方法:scrollTo(),滚动到特定位置。

scrollTo( xpos , ypos [, duration] )

三个参数说明:

xpos

Type: Integer

要在窗口文档显示区左上角显示的文档的 x 坐标

ypos

Type: Integer

要在窗口文档显示区左上角显示的文档的 y 坐标

duration

Type: Integer

滚动时间周期,单位是毫秒

滚动到顶部参数设置如下:scrollTo(0,0,500);  也就是说只需要设置第三个参数多少毫秒滚动到顶部。

mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);//100毫秒滚动到顶

上面代码是官方提供的,而我们在实际应用中科院直接使用即可:

mui.scrollTo(0,0,100)

下面是完整代码,亲测有效,JS部分:

mui.plusReady(function() {

//回到顶部

var scrollToTopBox = document.getElementById('scrollToTop');

//返回按钮tap

scrollToTopBox.addEventListener('tap', function(e) {

console.log('click here')

e.stopPropagation();

//mui('#pullrefresh').pullRefresh().scrollTo(0, 0, 100); //滚动到顶部

//window.scrollTo(0, 0, 1000);

mui.scrollTo(0,1000);

});

//Android上监听原生滚动,iOS上监听div滚动,上拉超过一屏后显示按钮,否则隐藏,可自行在条件判断中修改

if (mui.os.android) {

console.log('android')

window.addEventListener('scroll', function(e) {

if (window.pageYOffset >= window.innerHeight && scrollToTopBox.classList.contains('hide'))

scrollToTopBox.classList.remove('hide');

else if (window.pageYOffset 

scrollToTopBox.classList.add('hide');

});

} else {

console.log('ios')

console.log(window.innerHeight)

document.getElementById('pullrefresh').addEventListener('scroll', function() {

console.log('scrolling...')

if (mui('#pullrefresh').pullRefresh().y <= window.innerHeight(-1) && scrollToTopBox.classList.contains('hide')){

scrollToTopBox.classList.remove('hide');

console.log('remove hide')

}

else if (mui('#pullrefresh').pullRefresh().y > window.innerHeight(-1) && !scrollToTopBox.classList.contains('hide')){

scrollToTopBox.classList.add('hide');

console.log('add hide')

}

});

}

});

HTML部分:

  

1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6

css部分:

.hide { display: none; }

.backTop { background: #DDDDDD; border-radius: 50%; position: fixed; right: 10px; bottom: 10%; width: 38px; height: 38px; z-index: 9999; text-align: center; font-size: 18px; color: #666666; padding-top: 8px; opacity: 0.8; }

.s1,.s2{width:100%;height: 250px;background-color: #eee;}

.s2{background-color: #23A6D5;}

思路整理

返回顶部图标默认是隐藏状态,当滚动一屏后会自动出现,代码中使用window.innerHeight来获取当前设备屏幕高度,然后和网页滚动的高度window.pageYOffset进行比较来决定返回顶部图标是显示还是隐藏。

当点击返回顶部按钮后,触发代码

mui.scrollTo(0,0,100)

滚动返回顶部。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值