zoukankan      html  css  js  c++  java
  • input file 模拟预览图片。

    首先申明,接下来内容只是单纯的预览图片,最多选择九张,并没有和后台交互,交互的话需要自己另外写js。

    本来想写一个调用摄像头的demo,意外的发现input file 在手机端打开的话,ios可以调用图库或者摄像头,而安卓系统不能调用= =||。如果有人早知道,轻喷,我才发现。。。

    我对于web这一块很感兴趣,希望能和大家一起交流,一起进步!

    代码很简单,当我第一次发博客的纪念。。。

    效果演示:

    1.这是页面布局,基本没多少= =class随手起的,不要介意,懒。。。

     1 <body>
     2         <p>点击下面区域</p>
     3         <div class="adiv">
     4             <div class="ad1">
     5                 <input type="file" id="file" accept="image/*"/>
     6             </div>
     7             <div class="ad11">
     8             </div>
     9         </div>
    10     </body>

    2.这里就是样式。。。

     1          <style type="text/css">
     2             .adiv{
     3                 position: relative;
     4                 border: 1px solid red;
     5                 width:200px;
     6                 height: 200px;
     7             }
     8             .adiv div{
     9                 position: absolute;
    10                 width:200px;
    11                 height: 200px;
    12                 left:0;
    13                 top:0;
    14             }
    15             #file{
    16                 opacity: 0;
    17             }
    18             .ad11{
    19                 z-index:1000;
    20                 background: red;
    21                 background-size: 100% 100%;
    22             }
    23             .ad2{
    24                 float: left;
    25                 width:200px;
    26                 height: 200px;
    27                 background: red;
    28             }
    29             .ad2 img{
    30                 width:100%;
    31                 height: 100%;
    32             }
    33         </style>                

    3.这里就是js。我在之前调用了jquery,这里各位如果打开的话记得自己内联文件。

    $(function(){
                /*点击外层div,触发被隐藏的input的点击事件*/
                $(".ad11").click(function(){
                    if($(".ad2").length<9){
                        return $("#file").click();
                    }else{
                        return false;    
                    }        
                })
                /*当内容改变时能及时触发预览。*/
                $("#file").change(function(){
                    readAsDataURL();
                })
                /*这是图片预览函数,最多上传九张,不带交互内容*/
                function readAsDataURL(){
                    //检验是否为图像文件
                    var file = document.getElementById("file").files[0];
                    if(!/image/w+/.test(file.type)){
                        alert("请选择图片!");
                        return false;
                    }
                    var reader = new FileReader();
                    //将文件以Data URL形式读入页面
                    reader.readAsDataURL(file);
                    reader.onload=function(e){
                        var result=document.createElement("div")
                        result.className="ad2";
                        $("body").append(result)
                        //显示文件
                           result.innerHTML='<img src="' + this.result +'" alt="" />';
                        if($(".ad2").length>=9){
                            $(".adiv").css("display","none");
                        }
                    }
                }
            })
        

    这些大概就是基本内容。我目前在就职,但对乱七八糟的东西很感兴趣。。。喜欢研究各种插件,小效果。比如input框内容实时监控,不同长度文字两端对齐,h5模拟摇一摇,判断系统或者微信。。。如果大神呲之以鼻,请直接无视。。。

    如果哪有不足或者问题,欢迎指出,不胜感激。

    致谢!!

  • 相关阅读:
    挂载光盘
    Chukwa
    HDU 4638 Group 【树状数组,分块乱搞(莫队算法?)】
    visual studio 编译器在辨异 C/C++ 程序时的注意事项
    visual studio 编译器在辨异 C/C++ 程序时的注意事项
    衡量镜头解像能力性能的指标-MTF曲线
    强大的 pdf 编辑器 —— Acrobat
    强大的 pdf 编辑器 —— Acrobat
    流形学习初步
    流形学习初步
  • 原文地址:https://www.cnblogs.com/qj0813/p/5070129.html
Copyright © 2011-2022 走看看