zoukankan      html  css  js  c++  java
  • DOM艺术前六章范例:图片仓库

    • 对象检测
    • 向后兼容和浏览器嗅探技术
    • 尽量减少访问DOM和尽量减少标记
    • 平稳退化
    • JS和HTML的完全分离
    • 共享onload事件的实现
    • 键盘访问(注意死局的情况)
    • DOM Core 和 HTML-DOM

    代码:

    <head>
        <meta charset="utf-8">
        <title>Image Gallery</title>
        <script type="text/javascript" src="scripts/showPic.js"></script>
        <link rel="stylesheet" href="styles/layout.css" media="screen" />
    </head>
    
    <body>
        <h1>Snapshots</h1>
        <ul id="imagegallery">
            <li>
                <a href="images/1.jpg" title="伊利亚">
                    <img src="images/1.jpg" alt="cute" />
                </a>
            </li>
            <li>
                <a href="images/2.jpg" title="白色萝莉">
                    <img src="images/2.jpg" alt="white" />
                </a>
            </li>
            <li>
                <a href="images/3.jpg" title="凛酱">
                    <img src="images/3.jpg" alt="lin" />
                </a>
            </li>
            <li>
                <a href="images/4.jpg" title="复仇者">
                    <img src="images/4.jpg" alt="ruler" />
                </a>
            </li>
        </ul>
        <img src="images/dd.png" id="placeholder" alt="my image gallery">
        <p id="description">Choose an image</p>
    </body>
    
    </html>
    

    showPic.js:

    function showPic(whichpic) {
      if (!document.getElementById("placeholder")) return true;
      var source = whichpic.getAttribute("href");
      var placeholder = document.getElementById("placeholder");
      placeholder.setAttribute("src",source);
      if (!document.getElementById("description")) return false;
      if (whichpic.getAttribute("title")) {
        var text = whichpic.getAttribute("title");
      } else {
        var text = "";
      }
      var description = document.getElementById("description");
      if (description.firstChild.nodeType == 3) {
        description.firstChild.nodeValue = text;
      }
      return false;
    }
    
    function prepareGallery() {
      if (!document.getElementsByTagName) return false;
      if (!document.getElementById) return false;
      if (!document.getElementById("imagegallery")) return false;
      var gallery = document.getElementById("imagegallery");
      var links = gallery.getElementsByTagName("a");
      for ( var i=0; i < links.length; i++) {
        links[i].onclick = function() {
          return showPic(this);
    	}
        // links[i].onkeypress = links[i].onclick;
      }
    }
    
    function addLoadEvent(func) {
      var oldonload = window.onload;
      if (typeof window.onload != 'function') {
        window.onload = func;
      } else {
        window.onload = function() {
          oldonload();
          func();
        }
      }
    }
    
    addLoadEvent(prepareGallery);
    

    layout.css:

    body {
        font-family: "Helvetica", "Arial", serif;
        color: #333;
        background-color: #ccc;
        margin: 1em 1em;
    }
    
    h1 {
        color: #333;
        background-color: transparent;
    }
    
    a {
        color: #c60;
        background-color: transparent;
        font-weight: bold;
        text-decoration: none;
    }
    
    ul {
        padding: 0;
    }
    
    li {
        float: left;
        padding: 1px;
        list-style: none;
    }
    
    #imagegallery {
        list-style: none;
    }
    
    #imagegallery li {
        display: inline;
    }
    
    #imagegallery li a img {
        border: 0;
        transform: scale(0.5);
        padding: 0px;
    }
    
    .placeholder {
        text-align: center;
        display: table-cell;
        vertical-align: middle;
    }
    

    让placeholder区居中更好看一些把。。

  • 相关阅读:
    NotFoundHttpException
    postMan
    Extjs win
    Extjs toolbar 如何添加竖杆分隔符
    Extjs iconCls 的用法
    b站Java基本语法4之进制转换
    b站Java基本语法4之基本数据类型的运算规则
    b站数据库课2之连接查询
    b站Java尚硅谷0
    b站数据库课1之分组函数分组查询
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7638931.html
Copyright © 2011-2022 走看看