zoukankan      html  css  js  c++  java
  • 工作所得所思之一

    (1)angularJs的数据添加删除:

    每次添加后——>重新查询接口——>获取最新的数据——>ng-reapeat展示最新数据——>点击删除时——> 使用$scope.arrs.splice($index,1)删除本条

    要实现视图自动更新,可以在控制器代码里这样写(这个方法并没有尝试过

    $scope.delete = function(record) {
        $scope.records.splice($scope.records.indexOf(record), 1);
    };

    参考:http://blog.csdn.net/xin_x1n/article/details/53070144

    2、在使用angularjs实现加载效果时,先写一个加载动画,在请求发出但是未有请求结果这段时间,让他显示即可。

    分享一个个人觉得不错的pc端的加载效果(没有用图片的哦)

    html文件

    <div class="loadingBG">
        <div class="loading">
            <div class="spinner-container container1">
                <div class="circle1"></div>
                <div class="circle2"></div>
                <div class="circle3"></div>
                <div class="circle4"></div>
            </div>
            <div class="spinner-container container2">
                <div class="circle1"></div>
                <div class="circle2"></div>
                <div class="circle3"></div>
                <div class="circle4"></div>
            </div>
            <div class="spinner-container container3">
                <div class="circle1"></div>
                <div class="circle2"></div>
                <div class="circle3"></div>
                <div class="circle4"></div>
            </div>
        </div>
    </div>

    css文件

    <style>
        .loadingBG{width: 75px; height: 75px; border-radius: 10px; background-color: rgba(0,0,0,0.55); text-align: center; position: fixed; top:350px; left:48.5%; z-index:1054;}
        /*圆圈旋转*/
        .loading{width: 33px; height: 33px; left: 20px; top: 20px; position: absolute; clear: both;}
        .container1 > div, .container2 > div, .container3 > div{width: 6px; height: 6px; background-color: #fff; border-radius: 100%; position: absolute; -webkit-animation: bouncedelay 1.2s infinite ease-in-out; animation: bouncedelay 1.2s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both;}
        .loading .spinner-container{position: absolute; width: 100%; height: 100%;}
        .container2{-webkit-transform: rotateZ(45deg); transform: rotateZ(45deg);}
        .container3{-webkit-transform: rotateZ(90deg); transform: rotateZ(90deg);}
        .circle1{top: 0; left: 0;}
        .circle2{top: 0; right: 0;}
        .circle3{right: 0; bottom: 0;}
        .circle4{left: 0; bottom: 0;}
        .container2 .circle1{-webkit-animation-delay: -1.1s; animation-delay: -1.1s;}
        .container3 .circle1{-webkit-animation-delay: -1.0s; animation-delay: -1.0s;}
        .container1 .circle2{-webkit-animation-delay: -0.9s; animation-delay: -0.9s;}
        .container2 .circle2{-webkit-animation-delay: -0.8s; animation-delay: -0.8s;}
        .container3 .circle2{-webkit-animation-delay: -0.7s; animation-delay: -0.7s;}
        .container1 .circle3{-webkit-animation-delay: -0.6s; animation-delay: -0.6s;}
        .container2 .circle3{-webkit-animation-delay: -0.5s; animation-delay: -0.5s;}
        .container3 .circle3{-webkit-animation-delay: -0.4s; animation-delay: -0.4s;}
        .container1 .circle4{-webkit-animation-delay: -0.3s; animation-delay: -0.3s;}
        .container2 .circle4{-webkit-animation-delay: -0.2s; animation-delay: -0.2s;}
        .container3 .circle4{-webkit-animation-delay: -0.1s; animation-delay: -0.1s;}
        @-webkit-keyframes bouncedelay{0%, 80%, 100%{-webkit-transform: scale(0.0)} 40%{-webkit-transform: scale(1.0)}}
        @keyframes bouncedelay{0%, 80%, 100%{transform: scale(0.0); -webkit-transform: scale(0.0);} 40%{transform: scale(1.0); -webkit-transform: scale(1.0);}}
    </style>

    效果图:

    3、一个登入页面要想做好的话,也是需要很多考量的。输入号码时的判断,一键清除,还有判断语句的显示,还有友好的界面提示。(如果有机会的话,自己应该好好的写一个登入页面)

    4、下拉刷新

    5、图片上传

    (1)需要导入的文件 

    <script src="//cdn.bootcss.com/angular.js/1.5.8/angular.min.js"></script>
    <script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
    <script src="js/ng-file-upload.min.js"></script>
    <script src="js/ng-file-upload-shim.min.js"></script>
    <script src="js/upImg.js" ></script>
    

    (2)html文件

    <!DOCTYPE html>
    <html lang="en" ng-app="adviceApp" ng-controller="newAdvice">
    <head>
    <meta charset="UTF-8">
    <!-- 屏幕缩放控制 -->
    <meta name="viewport"
    content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0, user-scalable=no">
    <!-- 苹果导航栏 -->
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
    <div class="newTieziPic">

    <!--一开始将显示框隐藏-->
    <div class="contentDetail2" style="border: 0;">
    <div class="repairInputPic" ng-if="!noPic1">
    <img ng-src="{{uploadPic1}}">
    </div>
    <div class="repairInputPic" ng-if="!noPic2">
    <img ng-src="{{uploadPic2}}">
    </div>
    <div class="repairInputPic" ng-if="!noPic3">
    <img ng-src="{{uploadPic3}}">
    </div>

    <div class="repairInputPic" ng-if="noPic3">
    <img ng-src="{{uploadPic}}">
    <input style="opacity: 0;position: absolute;top: 0;left: 0; 100%;height: 100%" type="file" ngf-select="" ng-model="picFile" name="file" ngf-accept="&#39;image/*&#39;" required="" class="ng-pristine ng-invalid ng-invalid-required" accept="image/*" ng-change="upload(picFile)">
    </div>


    </div>
    <div class="picInfo">
    <p>最多3张/已选择<span ng-bind="choosePicNum"></span>张</p>
    </div>
    </div>
    <div class="progress" ng-show="picHasUpload">
    <div class="progress_bar" style="{{progress}}%" ng-bind="progress + '%'"></div>
    </div>

    </body>
    </html>
     

    (3)css文件

    /*清浮动*/
    .clear-float{width: 100%;clear: both;}
    
    .contentDetail2{width: 92%;margin: 0 auto;padding: 2.8% 0;position: relative;vertical-align: middle;border-bottom: 1px solid #ddd;}
    .contentDetail2:last-child{border: 0;}
    .repairInputPic_list{padding-left: 10%;}
    .repairInputPic{display: inline-block; padding: 0 1.5%;position: relative;}
    .repairInputPic img{width:100%;height:100%}
    .progress{width:200px;height:20px;border:1px solid #000;position:relative;}
    .progress .progress_bar{height:20px;background:red;position:absolute;top:0;left:0;}

    (4)js:

    var advice = angular.module("adviceApp", ['ngFileUpload']);
    advice.controller('newAdvice', ['$rootScope', '$scope', '$http', '$location', '$timeout','Upload',
            function($rootScope, $scope, $http, $location, $timeout,Upload) {
                $scope.localUrl="http://www.zhnb.net/wcity/";
                $scope.form = {};
                $scope.couldShow = false;
                $scope.form.token="61397d0a5773412b8e1400a770dd37f2";
                
                //----------------上传图片---------------
                //文件上传
                $scope.choosePicNum = 0;
                $scope.uploadPic = "images/upload.jpg";
                $scope.uploadPic1 = "images/upload.jpg";
                $scope.uploadPic1name = '';
                $scope.noPic1 = true;
                $scope.uploadPic2 = "images/upload.jpg";
                $scope.uploadPic2name = '';
                $scope.noPic2 = true;
                $scope.uploadPic3 = "images/upload.jpg";
                $scope.uploadPic3name = '';
                $scope.noPic3 = true;
                $scope.picHasUpload=false;
    
                $scope.upload = function (file) {
                    console.log(file);
                    if (!file) {
                        return;
                    }
                    console.log(file);
                    Upload.upload({
                        method: 'POST',
                        url:  $scope.localUrl + 'v1/upload_image',
                        data: {file: file,token:  $scope.form.token},
                        headers: {'Content-Type': undefined},
                        transformRequest: angular.identity
                    }).then(function (resp) {
                        console.log(resp);
                        $scope.progress = 100;
                        $scope.progressText = "上传成功!";
                        if($scope.noPic1){
                            $scope.uploadPic1name = resp.data.url;
                            $scope.uploadPic1 = resp.data.url;
                            $scope.noPic1 = false;
                            $scope.choosePicNum = 1;
                            $scope.picHasUpload = false;
                            return false;
                        }
                        if($scope.noPic2){
                            $scope.uploadPic2name = resp.data.url;
                            $scope.uploadPic2 = resp.data.url;
                            $scope.noPic2 = false;
                            $scope.choosePicNum = 2;
                            $scope.picHasUpload = false;
                            return false;
                        }
                        if($scope.noPic3){
                            $scope.uploadPic3name = resp.data.url;
                            $scope.uploadPic3 = resp.data.url;
                            $scope.noPic3 = false;
                            $scope.choosePicNum = 3;
                            $scope.picHasUpload = false;
                            return false;
                        }
                    }, function (resp) {
                        //error
                    }, function (evt) {
                        //process
                        $scope.picHasUpload = true;
                        $scope.progress = parseInt(100.0 * evt.loaded / evt.total);
                        $scope.progressText = "上传中";
                        $scope.onOff = false;
                        console.log( $scope.progress);
                    });
                };
    
                
                // 判断上传了多少张图片
                if(!$scope.noPic1){
                    $scope.form.images = $scope.uploadPic1name;
                    if(!$scope.noPic2){
                        $scope.form.images = $scope.uploadPic1name +","+$scope.uploadPic2name;
                        if(!$scope.noPic3){
                            $scope.form.images = $scope.uploadPic1name +","+$scope.uploadPic2name+","+$scope.uploadPic3name;
                        }
                    }
                }
                
            }]);

    (5)上传效果图:

  • 相关阅读:
    svn和git的优缺点
    idea 的MAVEN Lifecycle 基本用法
    递归SQL---树形结构
    基本:linux命令
    2017年9月22日01:42:08
    简述数据库的设计过程
    HelloH5+搭建
    【Java报错】Message: 3 字节的 UTF-8 序列的字节 2 无效
    css class嵌套
    【java报错】Could not instantiate listener
  • 原文地址:https://www.cnblogs.com/christineHu/p/6112726.html
Copyright © 2011-2022 走看看