当我点击添加图片按钮时仍然会出现放大图片得定悬浮窗
时间: 2023-09-26 18:15:20 浏览: 80
鼠标滑过图片悬浮式放大显示
非常抱歉之前的回答仍然有误。要在点击图片放大时才显示悬浮窗,并且不在添加图片时显示悬浮窗,您可以在`img.onclick`事件处理函数中添加逻辑来阻止在添加图片时显示悬浮窗。下面是修改后的代码示例:
```javascript
function previewImage(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var img = document.createElement("img");
img.src = e.target.result;
img.alt = "照片";
img.setAttribute("data-clicked", "false"); // 添加data-clicked属性,并初始化为false
// 添加图片点击事件处理函数
img.onclick = function () {
if (img.getAttribute("data-clicked") === "false") {
// 第一次点击时,将data-clicked属性设置为true,并返回
img.setAttribute("data-clicked", "true");
return;
} else {
showPopup(img.src); // 点击图片放大时显示悬浮窗
}
};
// 隐藏原始的input元素
input.style.display = "none";
// 添加图片到input元素的父节点
input.parentNode.appendChild(img);
};
reader.readAsDataURL(input.files[0]);
}
}
```
在上述代码中,我们通过为图片元素`img`添加了一个自定义属性`data-clicked`来标记是否已经点击过图片。在点击事件处理函数中,我们首先检查图片的`data-clicked`属性,如果为false,则表示第一次点击图片,此时将`data-clicked`属性设置为true,并返回;如果为true,则表示已经点击过图片,此时显示悬浮窗。
这样,只有在点击图片放大时,才会显示放大图片的悬浮窗。
希望这次能满足您的需求!如有任何进一步的问题,请随时提问。
阅读全文