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)上传效果图:

  • 相关阅读:
    Attach Files to Objects 将文件附加到对象
    Provide Several View Variants for End-Users 为最终用户提供多个视图变体
    Audit Object Changes 审核对象更改
    Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面
    Change Style of Navigation Items 更改导航项的样式
    Apply Grouping to List View Data 将分组应用于列表视图数据
    Choose the WinForms UI Type 选择 WinForms UI 类型
    Filter List Views 筛选器列表视图
    Make a List View Editable 使列表视图可编辑
    Add a Preview to a List View将预览添加到列表视图
  • 原文地址:https://www.cnblogs.com/christineHu/p/6112726.html
Copyright © 2011-2022 走看看