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

时间:2014-05-13 21:06:30

标签: javascript html image mobile

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

图像应跨越设备的最大宽度。此外,我试图用普通的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';
}

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;">

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);
}

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

1 个答案:

答案 0 :(得分:1)

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

#largeImg  {
    height: auto;
    max-width: 100%;
}

这会强制图像不大于它所容纳的容器,并在较小的屏幕上自动缩小。