如何使用 OnClick 事件更改结构 JS 的覆盖图像
how do i change overlay image of fabric js with onclick event?
我是javascript的新手,所以我需要一些帮助。IM制作了一个网站,人们可以在其中上传图像,客户可以通过单击"下一个"或"上一个"来选择他们的框架。问题是我无法更改框架,除此之外一切都在工作。这是代码
<canvas id="canvas" width="500" height="610" style="border:0px solid gray"></canvas>
<input type="file" id="imgLoader">
<img src="https://www.wpclipart.com/page_frames/movie/film_frame_page_T.png" id="fg_img" width="500" height="610" style="display: none;">
<script>
var canvas = new fabric.Canvas('canvas');
var up = document.getElementById("fg_img").getAttribute("src");
canvas.setOverlayImage(up, canvas.renderAll.bind(canvas));
document.getElementById('imgLoader').onchange = function handleImage(e) {
var reader = new FileReader();
reader.onload = function (event) { console.log('fdsf');
var imgObj = new Image();
imgObj.src = event.target.result;
imgObj.onload = function () {
var image = new fabric.Image(imgObj);
image.set({
});
//image.scale(getRandomNum(0.1, 0.25)).setCoords();
canvas.add(image);
}
}
reader.readAsDataURL(e.target.files[0]);
}
</script>
这是图像更改的功能
<script type="text/javascript">
var img_tk="m1";
function imgChange1(){
var newImage = document.getElementById('fg_img');
if (img_tk=="m1"){
newImage.src="images/7.png";
img_tk="m2";
}
else if (img_tk=="m2"){
newImage.src="images/4.png";
img_tk="m3";
}
else if (img_tk=="m3"){
newImage.src="images/6.png";
img_tk="m4";
}
else {
newImage.src="images/2.png";
img_tk="m1";
}
}
</script>
提前致谢:)
您可能会遇到某种缓存问题,例如: 更改"img"html元素的"src"不会刷新它。
在这种情况下,您可以通过在 src 后添加日期来修复它,如下所示:
newImage.src = "images/7.png?t=" + new Date().getTime();
相关文章:
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- React js应用程序's在托管应用程序中打开时将覆盖css样式
- 使用Modal UI覆盖JS Alert()消息
- node.js打开的文件覆盖现有文件
- 如何使用自定义功能覆盖时间轴对象.js时间轴对象的_repaintMinorText
- 使用 js/jQuery/css 在重力形式中覆盖 !important
- 定义变量是否比在 JS 中覆盖变量使用更多的资源
- 灰尘.js覆盖渲染上的挖空可观察量
- 使用node.js覆盖文件中的一行
- Angular JS覆盖ng-app之外的A链接
- 在JavaScript中,你如何阻止JS覆盖HTML
- Blanket.js覆盖了动态加载的脚本文件
- 扩展hash属性并防止用coffeescript和marionette js覆盖它
- 如何防止vue.js覆盖组件中的jQuery绑定
- IntelliJ的服务器端JS覆盖范围
- Ember.js覆盖的控制器不引用原始模型
- 使用CSS3或JS覆盖透明黑色轮廓PNG的可见区域
- JS -覆盖'this'在函数
- CSS/JS滑块代码阻止CSS/JS覆盖
- Lite服务器未检测到“bs-config.json”或“bs-connfig.js”覆盖文件