• 技术文章 >web前端 >html教程

    使用HTML实现多图上传预览功能

    巴扎黑巴扎黑2017-03-14 11:31:47原创998

    自己最近写了一个网页多图上传的脚本,感觉挺实用的,细节就不要说了,直接贴代码了~

    <head>
    <style>
    .pro_img{ margin-left:10px;margin-top:10px;width:300px;height: 300px;background-color: black; --border-radius:999em;  overflow:hidden;float:left; --margin:5% 35%;position: relative;}
    .pro_img img{ position: absolute;left: 50%;top:50%;   transform: translate(-50%,-50%);width: 100%
    }
    .pro_img {position:relative}
    .pro_img input{position: absolute;width: 100%;height: 100%;margin:0;opacity:0;z-index: 100;}
    </style>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script>
    name_pic=1;
    function t1(o){
    //alert(name_pic);
        if(o==1 || name_pic!=1){
        var file="file"+o;
        var img="img"+o;
        var hid="hidden"+o;
        var aa="a"+o;
        }else{
        var file="file"+name_pic;
        var img="img"+name_pic;
        var hid="hidden"+name_pic;
        var aa="a"+name_pic;
        }
        var docObj = document.getElementById(file);
        var imgObjPreview = document.getElementById(img);
        var hidden=document.getElementById(hid);
        // alert(hidden);
        if (docObj.files && docObj.files[0]) {
            hidden.src=window.URL.createObjectURL(docObj.files[0]); //获取file文件的路径
            hidden.onload=function(){
                var width=hidden.width;
                var height=hidden.height;
                var a=document.getElementById(aa);
                    if(width>height){
                    imgObjPreview.style.cssText='width:100%';   //重写css样式
                    }else{
                    imgObjPreview.style.cssText='height:100%;width:auto;';                  
                    }
            imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
            imgObjPreview.style.display = 'block';
            }
        }else{
            return false;
        }
        if(o==name_pic){
            var count=$('.pro_img').length;
            if(count<6){
            name_pic++;
        var pic_p="<a class='pro_img' id='a"+name_pic+"' ><input type='file' id='file"+name_pic+"'  accept='image/*' multiple='multiple' name='pic[]' onchange='t1("+name_pic+")'/><img src='upload.jpg' id='img"+name_pic+"'></a><img  id='hidden"+name_pic+"' style='display:none;'>";
        $('#upload').append(pic_p); 
        }       
    }
    }
    </script>
    </head>
    <!-- multiple='multiple' -->
    <form action="http://192.168.0.7/index.php/Home/Pic/upload" enctype="multipart/form-data" method="post">
    <p id='upload'>
    <a class='pro_img' id='a1' >
    <input type='file' id='file1'  accept='image/*' multiple='multiple' name='pic[]' onchange='t1(1)'/>
    <img src='upload.jpg' id='img1'></a>
    <img  id='hidden1' style='display:none;'>
    </p>
    <input type='submit' value="上传" />
    </form>

    自己替换一些upload.png这张图片就能达到自己的需求,如果说图片点击没反应,别忘了加入jquery


    以上就是使用HTML实现多图上传预览功能 的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:
    上一篇:解析width:100%;与width:auto;的区别 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ExtJs教程16(上)• html +CSS+div学习――第二课_html/css_WEB-ITnose• 糟糕的css用法 1_html/css_WEB-ITnose• Codeforces Round #275 (Div. 2) C• 前端要给力之:代码可以有多烂?_html/css_WEB-ITnose
    1/1

    PHP中文网