javascript - 如何使用 glyphicon 上传图像而不是使用那个长输入字段?

标签 javascript jquery html css

我的意思是我想使用任何符号或字形图标来上传图像,而不是使用那么长的输入字段。 (用于上传个人资料照片)

点击那个字形图标后,我可以从我的电脑中选择一张图片。 下面是用于选择图像的 fiddle ,但它使用的输入字段太长了。

我想在鼠标悬停在悬停在背景图像上的另一个图像上显示该字形。

我该怎么做... 请帮助..

我正在使用以下代码

HTML:-

<input type='file' />
<img id="myImg" src="#" alt="your image" />

js代码:

$(function () {
$(":file").change(function () {
    if (this.files && this.files[0]) {
        var reader = new FileReader();
        reader.onload = imageIsLoaded;
        reader.readAsDataURL(this.files[0]);
    }
});
});

function imageIsLoaded(e) {
    $('#myImg').attr('src', e.target.result);
};

任何建议表示赞赏.. [1]:http://jsfiddle.net/vacidesign/ja0tyj0f/

最佳答案

您可以设置标签样式以显示图像并隐藏默认上传按钮。 那是我看到并拍下的第一张照片。

$(function() {
  $(":file").change(function() {
    if (this.files && this.files[0]) {
      var reader = new FileReader();
      reader.onload = imageIsLoaded;
      reader.readAsDataURL(this.files[0]);
    }
  });
});

function imageIsLoaded(e) {
  $('#myImg').attr('src', e.target.result);
};
input[type="file"] {
  visibility: hidden;
  height: 0;
  width: 0;
}

input[type="file"]+label {
  display: inline-block;
  margin-right: 20px;
  height: 30px;
  width: 30px;
  background: url("//www.gravatar.com/avatar/9cb3514ed62adf3741d9f511a97e3c0d/?default=&s=80") no-repeat;
  background-size: cover;
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="imgUpload" type='file' />
<label for="imgUpload"></label>
<img id="myImg" src="#" alt="your image" />

关于javascript - 如何使用 glyphicon 上传图像而不是使用那个长输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354675/

相关文章:

javascript - 尝试填充 ul 时 jQuery.html() 不起作用

javascript - 如何使用 jQuery 的 hasClass 函数检查表是否有类?

javascript - 如何使带有 setTimeout() 的函数按顺序工作?

javascript - 未捕获类型错误 : . 。不是 javascript 中的函数

jquery - Uncaught Error : Dropzone already attached

javascript - Jquery 的恶意软件脚本

javascript - 当我可以在客户端代码中逐字编写规则时,有人可以向我解释为什么我们需要 Firebase 安全规则吗?

jquery - ajaxRequest.success 不是 smoothState.js 的函数

javascript - 使用 JS 和 HTML 的 Google map API(从地点 A 到地点 b 的方向)

iphone - 带有 safari 的 iphone 中的黑色背景