如何在移动设备上使用纯JavaScript扩大点击的图像

Blo*_*e21 5 html javascript mobile image

我正在尝试创建缩略图,点击时放大.目标是让选定的缩略图放大到设备的最大宽度.如果单击另一个缩略图,其图像将替换当前所选缩略图的图像.任何时候只能放大一个缩略图.

图像应跨越设备的最大宽度.此外,我试图用普通的JavaScript(没有jQuery),CSS和HTML来实现这一点.

JavaScript的

function showImage(imgName) {
    document.getElementById('largeImg').src = imgName;
    showLargeImagePanel();
    unselectAll();
}
function showLargeImagePanel() {
    document.getElementById('largeImgPanel').style.visibility = 'visible';
}
function unselectAll() {
    if(document.selection) document.selection.empty();
    if(window.getSelection) window.getSelection().removeAllRanges();
}
function hideMe(obj) {
    obj.style.visibility = 'hidden';
}
Run Code Online (Sandbox Code Playgroud)

HTML

<img  src="./Images/image.jpg" alt="1.jpeg" style="cursor:pointer" 
      onclick="showImage('./Images/image.jpg');">
<div id="largeImgPanel" onclick="hideMe(this);">
<img id="largeImg" style="height: 100%; margin: 0; padding: 0;">
Run Code Online (Sandbox Code Playgroud)

CSS

#largeImgPanel {
    text-align: center;
    visibility: hidden;
    position: fixed;
    z-index: 100;
    top: 0; left: 0; 
    width:100%;
    height:100%; 
    background-color: rgba(100,100,100, 0.5);
}
Run Code Online (Sandbox Code Playgroud)

图像确实弹出,但它太大(比设备的图像宽),因此它不适合移动屏幕.如何使其尺寸合适?

Axe*_*xel 1

您需要将图像宽度限制为父容器的宽度。

#largeImg  {
    height: auto;
    max-width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

这将迫使图像不大于其所在的容器,并在较小的屏幕上自动缩小。