javascript - 如何在上传图片后更改 DIV 的背景?

标签 javascript css asp.net upload

现在我有一个占位符图像设置为背景,上面有一个不可见的 asp:FileUpload。用户单击并选择图像后,我想更改占位符图像(使用 css 背景设置)。

<div id="icon">
    <asp:FileUpload ID="AvatarUpload" CssClass="avatar-upload" runat="server" size="38" />
</div>

CSS:

#icon {
    width: 120px;
    height: 120px;
    background: url("../image/mobile/upload-avatar.png") no-repeat bottom center;
    background-size: 120px 120px;
}

.avatar-upload {
    opacity: 0;
    width: 100%;
    height: 120px;
    cursor: pointer;
}

有没有办法在没有提交/上传按钮的情况下做到这一点?

最佳答案

这应该可以满足您的需求:

    var icon = document.querySelector('#icon');
    document.querySelector('#AvatarUpload').addEventListener("change",function(e){        
       icon.style.background = 'url('+URL.createObjectURL(e.target.files[0])+')';
    });
#icon{
  width : 120px;
  height : 120px;
  background : red;
  background-size: contain ! important;
  overflow : hidden;
 }

#AvatarUpload{
  opacity: 0;
  width: 100%;
  height: 120px;
}
<div id="icon">
  <input type="file" id="AvatarUpload"/>
</div>

关于javascript - 如何在上传图片后更改 DIV 的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606374/

相关文章:

javascript - 作为构建过程的一部分,从 Node/Express View 渲染静态 HTML 文件

css - 如何覆盖被重写的类——CSS

ios - ASP.NET 到移动设备

html+css : Avoid text under circled numbered List li, ol

javascript - 复选框切换选项

c# - 将本地 ASP.NET 应用程序发布到 Azure 后无法登录

javascript - 鼠标悬停在图像上时按钮隐藏

javascript - 检测点击是否在 OverlayView 内部

javascript - $watchGroup 意外行为

javascript - 滑动开关 : + sign is not updated to -