1. 程式人生 > >html圖片上傳閱覽並且點擊放大

html圖片上傳閱覽並且點擊放大

toc 開機自啟 spec lai icon 知識 公司簡介 tag sed

  • 技術分享
關閉

qq_31540195的博客

  • 技術分享目錄視圖
  • 技術分享摘要視圖
  • 技術分享訂閱
異步贈書:9月重磅新書升級,本本經典 程序員9月書訊 每周薦書:ES6、虛擬現實、物聯網(評論送書)

html圖片上傳閱覽並且點擊放大

標簽: htmlhtml圖片上傳預覽電機房啊圖片 技術分享 分類:

在做項目的時候用到了圖片上傳,用的是網上找到的一個bootstrap模板,裏面的有比較好的圖片上傳預覽功能,但是無法點擊放大圖片,感覺這樣用戶體驗不怎麽好,所以就想自己加一個點擊放大圖片的功能上去;用到了一個GitHub的開源項目Viewer.js;地址:https://github.com/fengyuanchen/viewer;

但是在開發的時候發現對於原本就已經加載的圖片是可以放大的,但是對於自己上傳的圖片放大不了,猜想了一下可能是因為bootstrap模板是在js裏面用代碼添加了一個img來顯示上傳的圖片,而Viewer.js無法找到這個img,所以點擊之後放大不了。因為剛開始接觸這方面,所以源碼也沒怎麽看懂,不知道這個猜想對不對;

其實對於項目而言,上傳的圖片不能點擊放大是沒有什麽影響的,一般我們不需要放大本地有的圖片,但是對於這麽一個功能我還是很想去做一下實現一下的,所以就在空閑之余網上各種找方法拼湊一下整合一下做出來;

首先準備工作室要下載jquery和Viewer;

[html] view plain copy
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="author" content="EdieLei" />
  6. <title></title>
  7. <link rel="stylesheet" type="text/css" href="zoom/viewer.css"/>
  8. <link rel="stylesheet" type="text/css" href="zoom/main.css"/>
  9. <body>
  10. <h3>HTML5 圖片上傳預覽</h3>
  11. <div class="docs-pictures clearfix">
  12. <img id="pic" src="" style="width: 200px;height: 200px;"/>
  13. </div>
  14. <input id="img" type="file" accept="image/*" />
  15. <script src="js/jquery-1.11.1.min.js" type="text/javascript" charset="utf-8"></script>
  16. <script src="zoom/viewer.js" type="text/javascript" charset="utf-8"></script>
  17. <script src="zoom/main.js" type="text/javascript" charset="utf-8"></script>
  18. <script type="text/javascript">
  19. $(function() {
  20. $(‘#img‘).change(function() {
  21. var file = this.files[0]; //選擇上傳的文件
  22. var r = new FileReader();
  23. r.readAsDataURL(file); //Base64
  24. $(r).load(function() {
  25. $(‘#pic‘).attr(‘src‘,this.result);
  26. });
  27. });
  28. });
  29. </script>
  30. </head>
  31. </body>
  32. </html>
上傳前:

技術分享

上傳後:

技術分享

放大後:

技術分享

這裏感覺放大效果不明顯,這是因為原圖就這麽大,可以手動點擊底部按鈕進行圖片的調整,而實際中我們在網頁上經常顯示的是圖片的縮略圖,當點擊之後顯示原圖就已經是放大了;如果需要點擊之後得到的圖比原圖要大的話那就要改Viewer.js裏面的屬性了,


大致改的位置在533行:

[javascript] view plain copy
  1. image = {
  2. naturalWidth: naturalWidth,
  3. naturalHeight: naturalHeight,
  4. aspectRatio: aspectRatio,
  5. ratio: width / naturalWidth,
  6. width: width*1.5,
  7. height: height*1.5,
  8. left: (viewerWidth - width*1.5) / 2,
  9. top: (viewerHeight - height*1.5) / 2
  10. };


0
0

相關文章推薦
  • ? html圖片上傳閱覽並且點擊放大
  • ? Python全棧工程師特訓班--韋瑋
  • ? javaEE:day8-在線圖片上傳與瀏覽(帶圖片點擊放大、下載、刪除、目錄打散)
  • ? Blink在阿裏集團的應用實踐--陳守元
  • ? 點擊圖片上傳文件
  • ? Vue2.x知識點面面通
  • ? html圖片上傳和顯示
  • ? 大型Web構架設計案例解析
  • ? html5多圖片上傳預覽效果
  • ? 機器學習案例實戰--欺詐檢測
  • ? html5圖片上傳
  • ? Android開發實戰30分鐘集成第三方SDK
  • ? jquery+html5圖片上傳可裁剪
  • ? html5多圖片上傳
  • ? HTML5圖片上傳
  • ? HTML5移動端裁剪圖片上傳頭像代碼
查看評論
暫無評論

發表評論
  • 用 戶 名:
  • qq_40222212
  • 評論內容:
  • 技術分享
* 以上用戶言論只代表其個人觀點,不代表CSDN網站的觀點或立場
    個人資料
技術分享
靈犀一指
    • 訪問:9687次
    • 積分:230
    • 等級: 技術分享
    • 排名:千裏之外
    • 原創:14篇
    • 轉載:0篇
    • 譯文:0篇
    • 評論:0條
    文章搜索
    文章分類
  • android組件屬性(0)
  • android驗證功能(0)
  • boostrap插件(1)
  • android筆記(7)
  • html學習(2)
  • SSM框架學習筆記(1)
  • android studio(0)
  • android studio筆記(2)
  • android SuperExample開發(0)
    文章存檔
  • 2017年09月(1)
  • 2017年06月(1)
  • 2017年03月(4)
  • 2016年10月(1)
  • 2016年09月(1)
展開
    閱讀排行
  • bootstrap-table.js如何根據單元格數據不同顯示不同的字體的顏色(6962)
  • android當activity加載完成後自動彈出popWindow(896)
  • html圖片上傳閱覽並且點擊放大(661)
  • struts2 2.5.2web.xml和struts.xmll配置(237)
  • android開發設置應用開機自啟動(2)——並使應用實時保持在前臺(138)
  • android使用TextView實現文字的跑馬燈效果(122)
  • android開發設置應用開機自啟動(108)
  • RecyclerView中繪制不相同的分割線(105)
  • HTML學習筆記(88)
  • 自定義圖片手勢縮放ImageView筆記(86)
    評論排行
  • android 滾動播報效果的實現(0)
  • RecyclerView中繪制不相同的分割線(0)
  • android studio引入module時出現的若幹問題(0)
  • android使用TextView實現文字的跑馬燈效果(0)
  • struts2 2.5.2web.xml和struts.xmll配置(0)
  • HTML學習筆記(0)
  • html圖片上傳閱覽並且點擊放大(0)
  • android開發設置應用開機自啟動(2)——並使應用實時保持在前臺(0)
  • android開發設置應用開機自啟動(0)
  • android當activity加載完成後自動彈出popWindow(0)
    推薦文章
    • * CSDN新版博客feed流內測用戶征集令
    • * Android檢查更新下載安裝
    • * 動手打造史上最簡單的 Recycleview 側滑菜單
    • * TCP網絡通訊如何解決分包粘包問題
    • * SDCC 2017之大數據技術實戰線上峰會
    • * 快速集成一個視頻直播功能
公司簡介|招賢納士|廣告服務|聯系方式|版權聲明|法律顧問|問題報告|合作夥伴|論壇反饋
網站客服雜誌客服微博客服[email protected]400-660-0108|北京創新樂知信息技術有限公司 版權所有|江蘇知之為計算機有限公司|江蘇樂知網絡技術有限公司

html圖片上傳閱覽並且點擊放大