Javascript檢視大圖功能程式碼實現
阿新 • • 發佈:2020-05-09
功能與實現
點選小圖片可以檢視大圖
實現就是把大圖放置在頂層(z-index大於當前頁面的),並且還可以加一些額外的比如透明度什麼的。
大圖以動畫的形式出現
動畫就是css動畫樣式了,可以自定義動畫,將圖片一點點變大,發揮想象了。
程式碼
html程式碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="style.css" rel="external nofollow" type="text/css"> <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css" rel="external nofollow" > </head> <body> <div class="row"> <div class="col" onclick="open_container(1)"> <img src="img/1.jpg" class="img"> </div> <div class="col" onclick="open_container(2)"> <img src="img/2.jpg" class="img"> </div> <div class="col" onclick="open_container(3)"> <img src="img/3.jpg" class="img"> </div> <div class="col" onclick="open_container(4)"> <img src="img/4.jpg" class="img"> </div> </div> <div class="container" id="container"> <div class="close" id="close" onclick="close_container()"> <i class="fa fa-close" style="font-size:130px;color:white;"></i> </div> <div class="container_content"> <img id="content_img" class="content_img" src="img/1.jpg"> </div> </div> </body> <script type="text/javascript" src="show.js"></script> </html>
css程式碼
.row{ margin:auto; } .row:after { content: ""; display: table; clear: both; } .col{ float: left; width: 20%; } img { margin-bottom: -4px; width:100%; height: auto; } .close{ position:absolute; top:30px; right:30px; } .container{ display:none; position:fixed; z-index:1;/*設定層疊順序:擁有更高堆疊順序的元素總是會處於堆疊順序較低的元素的前面*/ padding-top:100px;/*放置關閉按鈕*/ left:0px; top:0px; width: 100%; height:100%; overflow: auto; /*--溢位的情況*/ opacity:0.85;/*透明*/ background-color: black; } .container_content{ position: relative; background-color: black; margin: auto; width: 90%; max-width: 1200px; } .content_img{ width:150%; height: auto; -webkit-animation-name: zoom; -webkit-animation-duration: 0.6s; animation-name: zoom; animation-duration: 0.6s; } @-webkit-keyframes zoom {/*自定義動畫*/ from {-webkit-transform:scale(0)} to {-webkit-transform:scale(1)} } @keyframes zoom {/*自定義動畫*/ from {transform:scale(0)} to {transform:scale(1)} }
js程式碼
function open_container(x){ document.getElementById("container").style.display="block"; var str=""; str="img/"+x+".jpg"; document.getElementById("content_img").src=str; } function close_container(){ document.getElementById("container").style.display="none"; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。