纯javascript实现简单下拉刷新功能
作者:bea
代码很简单,实现的功能却很实用,直接奉上代码 CSS: 代码如下: <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;"
代码很简单,实现的功能却很实用,直接奉上代码
CSS:
代码如下:
<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:
代码如下:
<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>
以上就是本文的全部内容了,希望对大家学习javascript能够有所帮助。
有用 | 无用
CSS:
代码如下:
<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:
代码如下:
<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>
以上就是本文的全部内容了,希望对大家学习javascript能够有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- Javascript中this关键字的一些小知识
- Javascript URI 解析介绍
- PHP+jQuery+Ajax实现多图片上传效果
- jQuery oLoader实现的加载图片和页面效果
- jQuery实现购物车数字加减效果
- jQuery+PHP实现动态数字展示特效
- jQuery+slidereveal实现的面板滑动侧边展出效果
- jQuery+jRange实现滑动选取数值范围特效
- jQuery实现加入购物车飞入动画效果
- jQuery插件实现大图全屏图片相册
- jQuery实现精美的多级下拉菜单特效
- jQuery实现菜单式图片滑动切换
- jQuery.Highcharts.js绘制柱状图饼状图曲线图
- jQuery实现跨域iframe接口方法调用
- Flash图片上传组件 swfupload使用指南
- jQuery插件jFade实现鼠标经过的图片高亮其它变暗
- jquery实现标签支持图文排列带上下箭头按钮的选项卡
- javascript实现数独解法
- SuperSlide标签切换、焦点图多种组合插件