繁体   English   中英

使用 JavaScript 的照片库

[英]Photo Gallery Using JavaScript

我正在尝试使用 html css 和 javascript 创建一个简单的照片库。 在我的项目顶部,我有 5 个缩略图,其中包含 5 个图像。 在我的缩略图下方,我有一个与原始图像大小相同的 div。 我想要发生的是当用户单击任何缩略图照片以在缩略图下方的 div 中显示照片的原始大小时。 我已经创建了项目的开始,但我不知道如何完成它。 如果有人能帮助我完成我必须添加的代码(css 和 JS),我将不胜感激。

谢谢。

HTML:

div id="img-thumbnails">
  <img src="assets/imgs/img-01.jpg">
  <img src="assets/imgs/img-02.jpg">
  <img src="assets/imgs/img-03.jpg">
  <img src="assets/imgs/img-04.jpg">
  <img src="assets/imgs/img-05.jpg">
</div>

 <div id="img-original">

 </div>

CSS:

#img-thumbnails {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#img-thumbnails img {
    width:200px;
    height:100px;
    cursor: pointer;
    margin-left:20px;
}

#img-original {
    height:500px;
    width:800px;
    border:10px solid black;
    margin:30px auto;
}

下面是一个示例实现,您可以将其用作解决问题的指南。

我在这里使用 div 代替图像,因为我没有链接到。

 var preview = document.getElementById('pretend_view'); var images = document.getElementById('pretend_images'); var thumbnails = document.querySelectorAll('#pretend_images > div'); thumbnails.forEach(function(elem){ elem.onclick = onClick.bind(null, elem); }); function onClick(elem, e){ clearPreview(); addToPreview(elem); } function clearPreview(){ var elem = document.querySelector('.preview'); if(elem){ elem.className = elem.className.replace('preview', ''); images.appendChild(elem); } } function addToPreview(elem){ elem.className = 'preview'; preview.appendChild(elem); }
 #pretend_images > div { display: inline-block; width:50px; height:50px; cursor: pointer; margin-left:20px; } #pretend_preview { height:200px; width:300px; border:10px solid black; margin:30px auto; } #a { background-color: black; } #b { background-color: blue; } #c { background-color: green; } #d { background-color: pink; } .preview { height:200px; width:300px; }
 <div id="pretend_images"> <div id="a"></div> <div id="b"></div> <div id="c"></div> <div id="d"></div> </div> <div id="pretend_view"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM