有的朋友说为什么我的minirefresh.js下拉无反应呢?首先我们要搞清楚为什么minirefresh.js下拉有反应,minirefresh.js可以设置下拉多少给PX执行刷新,可以有下拉动画,所以下拉实际就是用户下拉了下面代码中ID等于mrefresh的DIV。简而言之下拉无反应有以下几种原因:
/*你要下拉的div minirefresh的DIV*/
.list {
width:80%;
margin-top:10px;
margin-left:auto;
margin-right:auto;
background-color:#f1f1f1;
border: solid 1px #ddd;
border-radius: 3px;
}
/*你的导航DIV z-index 高于.list的div,这时下拉是没有效果的*/
.naver{
position: fixed;
left: 0px;
top: 0px;
z-index: 999999999999;
height: 200px;
width: 100%;
}
<!-- *************** naver div z-index非常高挡住了所有其他元素 -->
<div class="naver">
导航
</div>
<div id="mrefresh" class="minirefresh-wrap">
<div class="minirefresh-scroll">
<!-- 这里放你要被下拉的区域 -->
<div class="list">
<ul>
<li>网站www.itxst.com</li>
<li>网站www.github.com</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
</ul>
</div>
</div>
</div>
你要下拉的div元素还没在浏览器显示完成就去 var miniRefresh = new MiniRefresh();当然也是没有效果的。以下代码下拉无效。
<script>
var mRefresh = new MiniRefresh({
container: '#mrefresh', //这里是插件的容器ID
down: {
callback: function () {
// 下拉后的回调事件 ,你可以在这里执行你的后台请求数据函数,达到刷新数据的作用
getData();
mRefresh.endDownLoading();
}
,
onCalcel: function () {
//下拉到一半,放弃刷新执行的事件
calcelMsg();
}
}
,
up: {
callback: function () {
// 向上拉后的回调事件
mRefresh.endUpLoading(true);
}
}
});
var pos = 0;
function getData()
{
$(".list ul li").remove();
for (var i = pos; i < pos+ 10; i++)
{
$(".list ul").append("<li>新数据" + i + "</li>");
}
pos = pos + 10;
}
function calcelMsg()
{
$(".list ul li").remove();
$(".list ul").append("<li>你放弃了刷新</li>");
}
</script>
<div class="naver">
导航
</div>
<div id="mrefresh" class="minirefresh-wrap">
<div class="minirefresh-scroll">
<!-- 这里放你要被下拉的区域 -->
<div class="list">
<ul>
<li>网站www.itxst.com</li>
<li>网站www.github.com</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
<li>网站内容11111</li>
</ul>
</div>
</div>
</div>