平稳退化,JS和HTML标记分离,极致性能的JavaScript图片库

时间:2022-12-21 08:15:08

index.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>JavaScript图片库</title>
 6 <script type="text/javascript" src="placeholder.js"></script>
 7 </head>
 8 <body>
 9 <ul id="gallery">
10     <li><a href="image/1 (1).jpg" title="不错的毛玻璃1">毛玻璃1</a> </li>
11     <li><a href="image/1 (2).jpg" title="不错的毛玻璃2">毛玻璃2</a> </li>
12     <li><a href="image/1 (3).jpg" title="不错的毛玻璃3">毛玻璃3</a> </li>
13     <li><a href="image/1 (4).jpg" title="不错的毛玻璃4">毛玻璃4</a> </li>
14 </ul>
15 <img id="placeholder" src="image/placeholder.jpg" alt="My Image Gallery" />
16 <p id="description">Choose an image</p>
17 </body>
18 </html>

placeholder.js

 1     <!--平稳退化,JS和HTML标记分离,极致性能的JS图片库-->
 2     function showPic(whichPic){
 3         var placeholder=document.getElementById("placeholder");
 4         if(!placeholder){
 5             return false;
 6         }
 7         var source=whichPic.getAttribute("href");
 8         placeholder.setAttribute("src",source);
 9         var desc=document.getElementById("description");
10         if(desc){
11             var text=whichPic.getAttribute("title");
12             desc.childNodes[0].nodeValue=text;
13         }
14         return true;
15     }
16     function bind(){
17         if(!document.getElementById){
18            return false;
19         }
20         if(!document.getElementsByTagName){
21             return false;
22         }
23         var myGallery=document.getElementById('gallery');
24         var a=myGallery.getElementsByTagName("a");
25         for(var i=0;i< a.length;i++){
26             a[i].onclick=function(){
27                 return !showPic(this);
28             }
29         }
30     }
31     window.onload=bind;