Ionic 简易侧拉框

下面代码是用Ionic写的一个简易的侧拉框,希望可以帮助到大家!
<!DOCTYPE html>
<html  ng-app="myApp">
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>
    <link href="ionic/css/ionic.css" rel="stylesheet">
    <link href="css/main.css" rel="stylesheet"/>
    <script type="text/javascript" src="ionic/js/ionic.bundle.min.js"></script>
    <script type="text/javascript">
        var app = angular.module("myApp",["ionic"]);
        app.config(function($stateProvider,$urlRouterProvider) {
            $stateProvider.state("home",{
                url:"/home",
                views:{
                    "views-home":{
                        templateUrl:"views/home/home.html"
                    }
                }
            }).state("cart",{
                url:"/cart",
                views:{
                    "views-cart":{
                        templateUrl:"views/cart/cart.html"
                    }
                }
            }).state("person",{
                url:"/person",
                views:{
                    "views-person":{
                        templateUrl:"views/mine/mine.html"
                    }
                }
            })
            $urlRouterProvider.otherwise("home");
        });
        app.controller("myCtrl",function($scope,$ionicSideMenuDelegate,$http) {
            $scope.book_list = [];
            $scope.toggleLeft = function() {
               $ionicSideMenuDelegate.toggleLeft();
            };
            var urls = [
                    "",
                    "book_list_1.json",
                    "book_list_2.json",
                    "book_list_3.json",
            ];
               var pageNo = 1;
            var loadDate = function() {
                var httpReq = $http.get(urls[pageNo]);
                httpReq.success(function(data,status){
                    $scope.book_list = $scope.book_list.concat(data);
                }).error(function(data,status){
                    console.log(status);
                }).finally(function(){
                    $scope.$broadcast('scroll.infiniteScrollComplete');
                });
            };
            loadDate();
            $scope.doRefresh = function() {
               $scope.book_list = [];
                pageNo = 1;
                loadDate();
            };
            $scope.loadMore = function() {
                if(pageNo++ > 3) {
                    pageNo = 3;
                    return;
                }
                loadDate();
            };
        });
    </script>
</head>
<body ng-controller="myCtrl">
  <ion-tabs class="tabs-stable tabs-icon-top tabs-striped">
      <ion-tab title="首页" icon-on="ion-ios-filing" icon-off="ion-ios-filing-outline" ui-sref="home">
                 <ion-side-menus>
                     <ion-side-menu-content>
                         <ion-header-bar class="bar bar-positive">
                             <button class="button button-icon ion-ios-settings-strong" ng-click="toggleLeft()"></button>
                             <h1 class="title">首页</h1>
                         </ion-header-bar>
                         <ion-nav-view name="views-home"></ion-nav-view>
                    </ion-side-menu-content>
                     <ion-side-menu side="left">
                             <ion-header-bar class="bar bar-positive">
                                 <button class="button button-icon ion-ios-undo-outline" ng-click="toggleLeft()"></button>
                                 <h1 class="title">个人中心</h1>
                             </ion-header-bar>
                             <ion-content>
                                 <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-tab>
              <ion-tab title="购物车" icon-on="ion-ios-cart" icon-off="ion-ios-cart-outline" ui-sref="cart">
                  <ion-nav-view name="views-cart"></ion-nav-view>
              </ion-tab>
                  <ion-tab title="我的" icon-on="ion-ios-person" icon-off="ion-ios-person-outline" ui-sref="person">
                      <ion-nav-view name="views-person"></ion-nav-view>
                  </ion-tab>
  </ion-tabs>
<script id="home.html" type="text/ng-template">
   <ion-nav-view></ion-nav-view>
</script>
  <script id="cart.html" type="text/ng-template">
      <ion-nav-view></ion-nav-view>
  </script>
  <script id="person.html" type="text/ng-template">
      <ion-nav-view></ion-nav-view>
  </script>
</body>
</html>
开始内联中的main.css代码
.home .picture {
    float: left;
}

.home .details h3 {
    margin-top: 16px;
}

.home .details div {
    margin-top: 48px;
}

.home .details span {
    color: red;
    font-size: large;
}

.home .details .ion-ios-cart {
    position: absolute;
    right: 16px;
}

.cart .picture {
    float: left;
}

.cart .details h3 {
    margin-top: 16px;
    color: red;
    font-size: large;
}

.cart .details div {
    margin-top: 16px;
}

.cart .details div .ion-android-delete {
    position: absolute;
    right: 16px;
}

.cart .item {
    border-width: 0;
}

.cart hr {
    border: 1px dotted #999;
    margin-left: 12px;
    margin-right: 12px;
}

.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;
}
下面是home.html的布局代码
<ion-view class="home">
    <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 ng-src="{{book.picture}}" width="128px" height="128px"/>
                </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.html的布局代码
<ion-view class="cart">
    <ion-header-bar class="bar bar-positive">
        <h1 class="title">购物车</h1>
        <button class="button button-icon ion-ios-undo-outline"></button>
    </ion-header-bar>
    <ion-content>
        <ion-refresher pulling-text="下拉刷新" on-refresh="doRefresh()"></ion-refresher>
        <ion-list>
            <ion-item>
                <div class="picture">
                    <img ng-src="img/book_01.jpg" width="96px" height="96px"/>
                </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 ng-src="img/book_01.jpg" width="96px" height="96px"/>
                </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 ng-src="img/book_01.jpg" width="96px" height="96px"/>
                </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 ng-src="img/book_01.jpg" width="96px" height="96px"/>
                </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 ng-src="img/book_01.jpg" width="96px" height="96px"/>
                </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 ng-src="img/book_01.jpg" width="96px" height="96px"/>
                </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.html的布局代码
<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="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-view>









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值