1 回答
TA贡献1824条经验 获得超6个赞
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" type="text/css" href="../css/normalize.css"/>
<link rel="stylesheet" type="text/css" href="../font-awesome-4.7.0/css/font-awesome.css"/>
<style>
html,body{
height: 100%;
}
#app{
display: flex;
flex-direction: column;
height: 100%;
}
header{
height: 40px;
line-height: 40px;
background-color: #DDD;
}
main{
flex: 1;
display: block;
position: relative;
overflow: hidden;
}
ul{
list-style: none;
margin: 0;
padding: 0;
position: initial;
}
footer{
height: 40px;
line-height: 40px;
background-color: #DDD;
}
li{
height: 100px;
border-bottom: 1px solid #DDD;
}
.boxconter{
text-align: center;
padding: 10px 0;
height: 50px;
}
.boxconter p{
margin-top: 10px;
margin-bottom: 0;
}
.list li{
width: 50%;
text-align: center;
height:36px;
line-height: 36px;
display: inline-block;
}
.div{
height: 100%;
width: 100%;
display: none;
}
.div:nth-child(1){
display: block;
}
</style>
</head>
<body orient="landspace">
<div id="app">
<header>
我是header
</header>
<ul class="list">
<li>1</li><li>2</li>
</ul>
<main>
<div class="div">
<ul>
<li v-for="item in items">{{item}}</li>
<li class="boxconter" v-show="!boxshow">加载更多</li>
<li class="boxconter" v-show="boxshow">
<span class="fa fa-spinner fa-pulse"></span>
<p>{{boxtext}}</p>
</li>
</ul>
</div>
<div class="div">
<ul>
<li v-for="item in 20">{{item+10}}</li>
<li class="boxconter" v-show="!boxshow">加载更多</li>
<li class="boxconter" v-show="boxshow">
<span class="fa fa-spinner fa-pulse"></span>
<p>{{boxtext}}</p>
</li>
</ul>
</div>
</main>
<footer>
我是footer
</footer>
</div>
<script src="dist/vue.js"></script>
<script src="dist/bscroll.min.js"></script>
<script>
var vm = new Vue({
el:"#app",
data:{
items:10,
boxshow:true,
boxtext:"加载中"
},
methods:{
aaa(){
document.getElementsByTagName('main')[0].style.display = 'block';
//this.meunScroll.refresh();
}
},
mounted:function(){
var div = document.getElementsByClassName('div');
this.meunScroll1 = new BScroll(div[0], {
click: true,
scrollY: true,
pullUpLoad:{
threshold: -70, // 当上拉到超过底部 70px 时,
}
});
console.log(this.meunScroll1);
this.meunScroll2 = new BScroll(div[1], {
click: true,
scrollY: true,
pullUpLoad:{
threshold: -70, // 当上拉到超过底部 70px 时,
}
});
var li = document.getElementsByClassName('list')[0].getElementsByTagName('li');
[...li].forEach(function(el,index){
this.index = index;
el.onclick = function(){
div[0].style.display = 'none';
div[1].style.display = 'none';
div[index].style.display = 'block';
vm.meunScroll2.refresh();
};
})
this.meunScroll1.on("pullingUp",function(){
this.boxshow = true;
setTimeout(function(){
this.items +=10;
this.$nextTick(function(){
this.boxshow = false;
this.meunScroll1.finishPullUp();
this.meunScroll1.refresh();
});
}.bind(this),1000);
}.bind(this));
}
})
</script>
</body>
</html>
添加回答
举报