我现在没思路,不知道是怎么弄出来。
回复内容:
我现在没思路,不知道是怎么弄出来。
推荐 百度 FEX 团队的 Web Uploader,最近使用了一下,感觉功能比较全,可以实现分片、并发上传,同时上传前就可以获取到图片的预览图(大小可自己定义,是Base64
编码)。另外除了对HTML5 File API
的支持外,还提供了Flash
插件实现对老版本浏览器的支持。有兴趣可以阅读下官网的示例。
把做成透明度0,放在这个头像上,大小和这个头像一样
先写一个上传的input,然后隐藏掉,然后做一个按钮,或者div,给它onclick事件,当它被点击的时候去触发input,然后上传窗口就打开了。
预览功能是先把刚刚的图片传给服务器,然后拿到url,再用一个div来显示,就是预览了。如果这个时候要裁减什么的,就做完之后再传给服务器,把文件记录到数据库等等。
我自己的的做法是这样的。。
隐藏表单用ajax提交,不难。
正好做了一个,和题主这个想要的效果差不多,用到了File API
,旧浏览器兼容不了,题主可以参考一下。
html
<div class="file-selector"> <span class="icon-upload"></span> <div class="preview-container"> <div class="remove-button js-remove-image">x</div> <img class="js-preview" alt="javascript - 商城网站是如何单击头像直接弹出可以上传图片然后预览? " > </div> <input type="file" name="image" class="js-image"> </div>
css
.file-selector { position: relative; overflow: hidden; display: inline-block; width: 120px; height: 160px; border: 3px dashed #e7e7eb; margin-right: 20px; &:hover { border-color: #888; .am-icon-upload { color: #888; } } &.has-preview { border: 0; .am-icon-upload, input { display: none; } } .am-icon-upload { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 48px; color: #e7e7eb; } .preview-container { width: 100%; height: 100%; display: none; position: relative; img { width: 100%; height: 100%; } .remove-button { top: 0; right: 0; } } input { position: absolute; top: 0; right: 0; margin: 0; opacity: 0; font-size: 200px; direction: ltr; cursor: pointer; } }
js
$('#js-image').on('change', function() { var $input = $(this); var $container = $input.closest('.file-selector'); var $previewContainer = $container.find('.preview-container'); var $previewImage = $previewContainer.find('.js-preview'); var reader = new FileReader(); reader.onload = function(e) { $previewImage.attr('src', e.target.result); $container.addClass('has-preview'); $previewContainer.show(); $previewContainer.find('.js-remove-image').on('click', function() { $input.val(null); $previewImage.attr('src', null); $container.removeClass('has-preview'); $previewContainer.hide(); $(this).off('click'); }); } reader.readAsDataURL(this.files[0]); });
我只知道HTML 5有办法可以预览
html5 fileapi change处理就可以了
例子 http://www.cnblogs.com/snandy/archive/2012/11/26/2789350.html
如果需要兼容的话,可以尝试下jQuery File Upload这个插件
有好多种方法可以弄这个吧?js的onclick事件打开上传框,配合ajax上传到服务器然后再用ajax引入这张图片,妥妥的。

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。