豆瓣电影APP首页热映部分MUI+JS,豆瓣电影APi调用


		<style>
			html,
			body {
				background-color: white;
			}
			
			.wrap-search {
				margin: 15px;
				background: #E6E6E6;
				height: 30px;
				border-radius: 5px;
				text-align: center;
			}
			
			.item-img {
				width: 60px;
				height: 90px;
				margin-right: 10px;
			}
			
			.orange {
				color: orange;
				font-size: 14px;
			}
			
			.gray-small {
				color: #A2A2A2;
				font-size: 14px;
			}
		</style>


	</head>


	<body>
		<div class="mui-content" style="background: white;padding-bottom: 40px;">
			<div class="wrap-search">
				<span class="mui-icon mui-icon-search" style="line-height: 30px;color: #AAAAAA;font-size: 16px;"></span>
				<span style="line-height: 30px;color: #AAAAAA;font-size: 14px;">电影/电视剧/影人</span>
			</div>
		</div>
		<div id="refreshContainer" class="mui-scroll-wrapper" style="top: 50px;">
			<div class="mui-scroll">
				<ul id="movies" class="mui-table-view">
					
				</ul>
			</div>
		</div>
		<nav class="mui-bar mui-bar-tab">
		    <a class="mui-tab-item mui-active">
		        <span class="mui-icon mui-icon-home"></span>
		        <span class="mui-tab-label">热映</span>
		    </a>
		    <a class="mui-tab-item">
		        <span class="mui-icon mui-icon-search"></span>
		        <span class="mui-tab-label">搜索</span>
		    </a>
		    <a class="mui-tab-item">
		        <span class="mui-icon mui-icon-gear"></span>
		        <span class="mui-tab-label">设置</span>
		    </a>
		</nav>
		<script type="text/javascript" charset="utf-8">
			
			mui.init({
				pullRefresh: {
					container: '#refreshContainer',
					up: {
						auto: false,
						contentrefresh: '正在加载...',
						callback: pullupRefresh
					}
				}
			});

                        var listDatas;//获取的数据
			var count = 0;//页数
			mui.plusReady(function() {
				indexApi();//j加载列表页面
			})
			//请求最近热映电影接口		
			function indexApi() {
				mui.ajax('https://api.douban.com/v2/movie/in_theaters', {
					dataType: 'json', //服务器返回json格式数据
					type: 'get', //HTTP请求类型
					timeout: 10000, //超时时间设置为10秒;
					success: function(data) {
						listDatas = data.subjects;
						if(data.subjects.length > 0) {
							showIndexList(listDatas)
						}
					},
					error: function(xhr, type, errorThrown) {
						//异常处理;
						console.log(type);
					}
				});


			}
			//加载热映电影列表
			function showIndexList(data) {
				var table = document.body.querySelector('.mui-table-view');
				var cells = document.body.querySelectorAll('.mui-table-view-cell');
				var newCount = 5; //首次加载为5条
				for(var i = cells.length, len = i + newCount; i < len; i++) {
					var imgSrc = data[i].images.small;//电影海报
					var title = data[i].title;//电影标题
					var genres = data[i].genres.toString().replace(/,/g, ' / ');//逗号替换成斜杠,电影类型
					var average = data[i].rating.average;//评分
					var directors = data[i].directors[0].name;//导演
					//演员
					var casts = '';//主演
					for(var j = 0; j < data[i].casts.length; j++) {
						casts += data[i].casts != "" ? data[i].casts[j].name : "";//casts字段可能为空
						if(j != data[i].casts.length - 1) {
							casts += ' / ';
						}
					}
					var li = document.createElement('li');
					li.className = 'mui-table-view-cell';
					li.innerHTML = '<img class="mui-pull-left item-img" src="' + imgSrc + '" />' +
						'<h4 class="mui-ellipsis">' + title + '</h4>' +
						'<div class="mui-ellipsis">' +
						'<span class="gray-small">' + genres + '</span> ' +
						'<span class="orange">' + average + '分</span>' +
						'</div>' +
						'<div class="mui-ellipsis gray-small">导演:' + directors + '</div>' +
						'<div class="mui-ellipsis gray-small">主演:' + casts + '</div>';
					table.appendChild(li);
				}
			}

                    //上拉加载更多
			function pullupRefresh() {
				//这里很重要,这里获取页码 公式:总条数/每页显示条数
				var totalPage = listDatas.length % 5 != 0 ? parseInt(listDatas.length / 5) + 1 : listDatas.length / 5;
				var flag = ++count > (totalPage - 1)
				setTimeout(function() {
				mui('#refreshContainer').pullRefresh().endPullupToRefresh(flag); //参数为true代表没有更多数据了。
					if(flag==false){
						indexApi()
					}else{
						mui.toast("无更多数据")
					}
					
				}, 1500);
			}
		</script>
	</body>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值