<!DOCTYPE html>
<html ng-app="BookShop">
<head lang="en">
<meta charset="UTF-8">
<!--必写的一句话-->
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<title>书店</title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet"/>
<script type="text/javascript" src="lib/ionic/js/ionic.bundle.js"></script>
<!--引用css文件-->
<link href="css/main.css" rel="stylesheet">
<script type="text/javascript">
var BookShop=angular.module("BookShop",["ionic"]);
//路由
BookShop.config(function($stateProvider,$urlRouterProvider){
//
$stateProvider.state("home",{
//路径
url:"/home",
views:{
"view-home":{
templateUrl:"views/home/home.html",
controller:"HomeCtrl"
}
}
}).state("cart",{
url:"/cart",
views:{
"view-cart":{
templateUrl:"views/cart/cart.html"
}
}
}).state("mine",{
url:"/mine",
views:{
"view-mine":{
templateUrl:"views/mine/mine.html"
}
}
});
$urlRouterProvider.otherwise("home");
});
BookShop.controller("HomeCtrl",function($scope, $ionicSideMenuDelegate,$http){
$scope.toggleLeft=function(){
//侧滑
$ionicSideMenuDelegate.toggleLeft();
}
$scope.book_list=[];
//为路径定义一个数组
var urls=[
"",
"book_list_1.json",
"book_list_2.json",
"book_list_3.json"
];
//定义页数默认为第一页
var pageNo=1;
//刷新方法
var loadData=function(){
//获取路径(第一页)
var httpReq=$http.get(urls[pageNo]);
//成功执行的
httpReq.success(function(data){
$scope.book_list=$scope.book_list.concat(data);
//失败执行的
}).error(function(data,status){
console.log(status);
}).finally(function(){
$scope.$broadcast('scroll.infiniteScrollComplete');
});
};
//执行方法
loadData();
//上拉刷新
$scope.doRefresh=function(){
$scope.book_list=[];
pageNo=1;
loadData();
};
//下拉加载
$scope.loadMore=function(){
if(pageNo++>3){
pageNo=3;
}
loadData();
};
});
</script>
</head>
<body>
<!--最上面的title-->
<ion-nav-bar></ion-nav-bar>
<!--侧拉-->
<ion-side-menus>
<ion-pane ion-side-menu-content>
<ion-nav-bar class="bar-stable nav-title-slide-ios"></ion-nav-bar>
<!--首页内容-->
<ion-nav-view animation="slide-left-right">
<ion-nav-view name="view-home"></ion-nav-view>
</ion-nav-view>
</ion-pane>
<!--左侧菜单-->
<ion-side-menu side="left" class="mine">
<header class="bar bar-header bar-stable">
<h1 class="title">个人中心</h1>
</header>
<ion-content class="has-header">
<div class="avatar">
<img src="img/mine_avatar.jpg" width="80px" height="80px"/>
<p>姓名</p>
</div>
<div class="list">
<a class="item item-icon-left item-icon-right">
<i class="icon ion-clipboard"></i>
我的订单
<i class="icon ion-ios-arrow-right"></i>
</a>
<a class="item item-icon-left item-icon-right">
<i class="icon ion-star"></i>
我的收藏
<i class="icon ion-ios-arrow-right"></i>
</a>
<a class="item item-icon-left item-icon-right">
<i class="icon ion-gear-a"></i>
设置
<i class="icon ion-ios-arrow-right"></i>
</a>
</div>
</ion-content>
</ion-side-menu>
</ion-side-menus>
<!--底部视图-->
<ion-tabs class="tabs-positive tabs-icon-top">
<ion-tab title="首页" icon-on="ion-ios-filing" icon-off="ion-ios-filing-outline" ui-sref="home">
<!--<ion-nav-view name="view-home"></ion-nav-view>-->
</ion-tab>
<ion-tab title="购物车" icon-on="ion-ios-cart" icon-off="ion-ios-cart-outline" ui-sref="cart">
<ion-nav-view name="view-cart"></ion-nav-view>
</ion-tab>
<ion-tab title="我的" icon-on="ion-ios-person" icon-off="ion-ios-person-outline" ui-sref="mine">
<ion-nav-view name="view-mine"></ion-nav-view>
</ion-tab>
</ion-tabs>
</body>
</html>
home主页
<ion-view title="首页" class="home" ng-controller="HomeCtrl">
<!--最左侧的侧拉按钮-->
<ion-nav-buttons>
<button class="button button-icon ion-ios-more" ng-click="toggleLeft()"></button>
</ion-nav-buttons>
<!--内容列表-->
<ion-content>
<!--下拉刷新-->
<ion-refresher pulling-text="下拉刷新" on-refresh="doRefresh()"></ion-refresher>
<ion-list>
<ion-item ng-repeat="book in book_list">
<div class="picture">
<img src="{{book.picture}}" width="140px" height="140px">
</div>
<div class="details">
<h2>{{book.title}}</h2>
<h3>{{book.description}}</h3>
<div>
<span>{{ book.price | currency: "¥" }}</span>
<i class="icon ion-ios-cart"></i>
</div>
</div>
</ion-item>
</ion-list>
<!--加载更多-->
<ion-infinite-scroll on-infinite="loadMore()" distance="1%" immediate-check="false"></ion-infinite-scroll>
</ion-content>
</ion-view>
cart(购物车页面)
<ion-view title="购物车" class="cart">
<ion-content>
<ion-list>
<ion-item>
<div class="picture">
<img src="img/book_01.jpg" width="140px" height="140px">
</div>
<div class="details">
<h2>Java编程思想</h2>
<h3>{{ 86.40 | currency: "¥" }}</h3>
<div>
<i class="icon ion-minus-circled"></i>
<span> 1 </span>
<i class="icon ion-plus-circled"></i>
<i class="icon ion-android-delete"></i>
</div>
</div>
</ion-item>
<hr>
<ion-item>
<div class="picture">
<img src="img/book_01.jpg" width="140px" height="140px">
</div>
<div class="details">
<h2>Java编程思想</h2>
<h3>{{ 86.40 | currency: "¥" }}</h3>
<div>
<i class="icon ion-minus-circled"></i>
<span> 1 </span>
<i class="icon ion-plus-circled"></i>
<i class="icon ion-android-delete"></i>
</div>
</div>
</ion-item>
<hr>
<ion-item>
<div class="picture">
<img src="img/book_01.jpg" width="140px" height="140px">
</div>
<div class="details">
<h2>Java编程思想</h2>
<h3>{{ 86.40 | currency: "¥" }}</h3>
<div>
<i class="icon ion-minus-circled"></i>
<span> 1 </span>
<i class="icon ion-plus-circled"></i>
<i class="icon ion-android-delete"></i>
</div>
</div>
</ion-item>
<hr>
<ion-item>
<div class="picture">
<img src="img/book_01.jpg"width="140px" height="140px">
</div>
<div class="details">
<h2>Java编程思想</h2>
<h3>{{ 86.40 | currency: "¥" }}</h3>
<div>
<i class="icon ion-minus-circled"></i>
<span> 1 </span>
<i class="icon ion-plus-circled"></i>
<i class="icon ion-android-delete"></i>
</div>
</div>
</ion-item>
<hr>
<ion-item>
<div class="picture">
<img src="img/book_01.jpg" width="140px" height="140px">
</div>
<div class="details">
<h2>Java编程思想</h2>
<h3>{{ 86.40 | currency: "¥" }}</h3>
<div>
<i class="icon ion-minus-circled"></i>
<span> 1 </span>
<i class="icon ion-plus-circled"></i>
<i class="icon ion-android-delete"></i>
</div>
</div>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
mine(我的页面)
<ion-view title="我的" class="mine">
<ion-nav-buttons side="right">
<button class="button button-icon ion-ios-compose-outline" ng-click="toggleLeft()"></button>
</ion-nav-buttons>
<ion-content>
<div class="acatar">
<img src="img/mine_avatar.jpg" width="80px" height="80px">
<p>姓名</p>
</div>
<div class="list">
<a class="item item-icon-left item-icon-right">
<i class="icon ion-clipboard"></i>
我的订单
<i class="icon ion-ios-arrow-right"></i>
</a>
<a class="item item-icon-left item-icon-right">
<i class="icon ion-star"></i>
我的收藏
<i class="icon ion-ios-arrow-right"></i>
</a>
<a class="item item-icon-left item-icon-right">
<i class="icon ion-gear-a"></i>
设置
<i class="icon ion-ios-arrow-right"></i>
</a>
</div>
</ion-content>
</ion-view>
css样式
.home .picture{
float: left;
}
.home .details{
float: left;
}
.home h3{
margin-top: 20px;
}
.home .details div{
margin-top: 50px;
}
.home .details .ion-ios-cart{
position: absolute;
right: 20px;
}
.home .details span {
color: red;
font-size: large;
}
.mine .acatar {
width: 100%;
height: 200px;
background: url("../img/mine_bg.jpg") no-repeat;
background-size: cover;
text-align: center;
}
.mine .acatar img {
border-radius: 50%;
margin-top: 30px;
}
.cart .picture{
float: left;
}
.cart .details h3{
margin-top: 20px;
}
.cart .details div{
margin-top: 50px;
}
.cart .details div .ion-android-delete {
position: absolute;
right: 16px;
}
.cart .item {
border-width: 0;
}
.mine .avatar{
width: 100%;
height: 160px;
background: url("../img/mine_bg.jpg") no-repeat;
background-size: cover;
text-align: center;
}
.mine .avatar img{
border-radius: 50%;
margin-top: 30px;
}
书店
最新推荐文章于 2021-11-12 16:42:10 发布