Bootstrap之模态框实现图片预览

野性酷女 2022-05-11 15:54 568阅读 0赞

复制可直接运行

1:代码

  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title>预览头像</title>
  5. <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
  6. <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
  7. <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  8. <style type="text/css">
  9. /*预览图片大小*/
  10. #myImg img{
  11. width: 250px;
  12. height: 250px;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <!--1:隐藏表单-->
  18. <form action="/show/upload.do" method="post" enctype="multipart/form-data" id="myForm" class="form">
  19. <input type="file" id="myFile" name="myFile" style="display: none">
  20. </form>
  21. <!-- 2:按钮触发模态框 -->
  22. <button class="btn btn-default btn-lg" data-toggle="modal" data-target="#myModal">修改头像</button>
  23. <!--3: 模态框(Modal) -->
  24. <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  25. <div class="modal-dialog">
  26. <div class="modal-content">
  27. <div class="modal-header">
  28. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
  29. ×
  30. </button>
  31. <h4 class="modal-title" id="myModalLabel"> 上传头像</h4>
  32. </div>
  33. <div class="modal-body text-center">
  34. <!-- -text-cente bootstrap子元素居中--->
  35. <span id="myImg">
  36. <!--预览图片位置,默认图片-->
  37. <img src="./img/notlogin.jpg" class="img-circle">
  38. </span>
  39. </div>
  40. <div class="modal-footer">
  41. <!--点击选择文件-->
  42. <button type="button" class="btn btn-default" onclick="$('#myFile').click();" >浏览</button>
  43. <!--点击提交表单-->
  44. <button type="button" class="btn btn-primary" id="btn">提交 </button>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </body>
  50. <script type="text/javascript">
  51. //第一种实现--------------------------------------------------------------------------------------------
  52. // JS点击提交表单
  53. // var btn=document.getElementById("btn");
  54. // var form=document.getElementById("myForm");
  55. // btn.onclick=function(){
  56. // form.submit();
  57. // }
  58. // JS预览
  59. // var myfile=document.getElementById("myFile");//获取上传文件表单
  60. // myfile.onchange=function(){
  61. // var file=this.files[0] ; // 获取input上传的图片数据;
  62. //
  63. // var url=window.URL.createObjectURL(file); // 得到file对象路径,可当成普通的文件路径一样使用,赋值给src;
  64. //
  65. // document.getElementById("myImg").innerHTML="<img src='"+url+"' class='img-circle'/>";
  66. // }
  67. //第二种实现--------------------------------------------------------------------------------------------
  68. // JQ点击提交表单
  69. $("#btn").on("click", function () {
  70. $('#myForm').submit();
  71. });
  72. // JQ 预览
  73. $("#myFile").change(function(){//上传文件表单
  74. var file=this.files[0] ; // 获取input上传的图片数据;
  75. var url=window.URL.createObjectURL(file); // 得到file对象路径,可当成普通的文件路径一样使用,赋值给src;
  76. $("#myImg").html("<img src='"+url+"' class='img-circle'/>");
  77. //获得原图片的长和宽-------------------------
  78. //var img = new Image();// 创建对象
  79. //img.src =url;// 改变图片的src
  80. //img.onload = function(){// 加载完成执行
  81. // 打印
  82. //alert('width:'+img.width+',height:'+img.height);
  83. //};
  84. });
  85. </script>
  86. </html>

2:效果图

70

发表评论

表情:
评论列表 (有 0 条评论,568人围观)

还没有评论,来说两句吧...

相关阅读

    相关 bootstrap实例

    模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等。 实例: 在这里我...