純javascript實(shí)現(xiàn)簡(jiǎn)單下拉刷新功能
更新時(shí)間:2015年03月13日 14:19:13 投稿:hebedich
這篇文章主要介紹了純javascript實(shí)現(xiàn)簡(jiǎn)單下拉刷新功能,沒(méi)有借助任何的框架,十分簡(jiǎn)單實(shí)用,有需要的小伙伴來(lái)參考下吧。
代碼很簡(jiǎn)單,實(shí)現(xiàn)的功能卻很實(shí)用,直接奉上代碼
CSS:
復(fù)制代碼 代碼如下:
<meta charset="utf-8" />
<title>Pull to Refresh</title>
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;" />
<style>
div{
position: absolute;
top:0px;
bottom:0px;
width:100%;
left:0px;
overflow: hidden;
}
li{
list-style-type: none;
height:35px;
background: #ccc;
border-bottom: solid 1px #fff;
text-align: left;
line-height: 35px;
padding-left:15px;
}
ul{
width:100%;
margin-top:0px;
position: absolute;
left:0px;
padding:0px;
top:0px;
}
</style>
HTML:
復(fù)制代碼 代碼如下:
<div class="outerScroller">
<ul class = 'scroll'>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
</ul>
</div>
<script>
var scroll = document.querySelector('.scroll');
var outerScroller = document.querySelector('.outerScroller');
var touchStart = 0;
var touchDis = 0;
outerScroller.addEventListener('touchstart', function(event) {
var touch = event.targetTouches[0];
// 把元素放在手指所在的位置
touchStart = touch.pageY;
console.log(touchStart);
}, false);
outerScroller.addEventListener('touchmove', function(event) {
var touch = event.targetTouches[0];
console.log(touch.pageY + 'px');
scroll.style.top = scroll.offsetTop + touch.pageY-touchStart + 'px';
console.log(scroll.style.top);
touchStart = touch.pageY;
touchDis = touch.pageY-touchStart;
}, false);
outerScroller.addEventListener('touchend', function(event) {
touchStart = 0;
var top = scroll.offsetTop;
console.log(top);
if(top>70)refresh();
if(top>0){
var time = setInterval(function(){
scroll.style.top = scroll.offsetTop -2+'px';
if(scroll.offsetTop<=0)clearInterval(time);
},1)
}
}, false);
function refresh(){
for(var i = 10;i>0;i--)
{
var node = document.createElement("li");
node.innerHTML = "I'm new";
scroll.insertBefore(node,scroll.firstChild);
}
}
</script>
以上就是本文的全部?jī)?nèi)容了,希望對(duì)大家學(xué)習(xí)javascript能夠有所幫助。
您可能感興趣的文章:
- 基于iscroll.js實(shí)現(xiàn)下拉刷新和上拉加載效果
- vue.js移動(dòng)端app之上拉加載以及下拉刷新實(shí)戰(zhàn)
- vue.js整合vux中的上拉加載下拉刷新實(shí)例教程
- Javascript下拉刷新的簡(jiǎn)單實(shí)現(xiàn)
- JS 插件dropload下拉刷新、上拉加載使用小結(jié)
- iscroll.js的上拉下拉刷新時(shí)無(wú)法回彈的解決方法
- dropload.js插件下拉刷新和上拉加載使用詳解
- js仿手機(jī)頁(yè)面文件下拉刷新效果
- JS+CSS實(shí)現(xiàn)下拉刷新/上拉加載插件
- 原生js仿寫手機(jī)端下拉刷新
相關(guān)文章
原生js實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單
這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
JavaScript實(shí)現(xiàn)頁(yè)面一鍵全選或反選
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)頁(yè)面一鍵全選或反選,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
詳解微信小程序input標(biāo)簽正則初體驗(yàn)
這篇文章主要介紹了詳解微信小程序input標(biāo)簽正則初體驗(yàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
15個(gè)用于開(kāi)發(fā)的TypeScript高級(jí)技巧分享
這篇文章主要來(lái)和大家分享一下15個(gè)用于開(kāi)發(fā)的TypeScript高級(jí)技巧,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07
微信小程序和公眾號(hào)實(shí)現(xiàn)簽到頁(yè)面
這篇文章主要為大家詳細(xì)介紹了微信小程序和公眾號(hào)實(shí)現(xiàn)簽到頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

