2018_10_28_01.html 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <!DOCTYPE html>
  2. <html lang="en-US">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <title>动态替换图片 | 看白鹿的博客</title>
  7. <meta name="description" content="只有敢于尝试,才能品味人生.">
  8. <link rel="icon" href="/logo.png">
  9. <link rel="preload" href="/assets/css/0.styles.9f9689a0.css" as="style"><link rel="preload" href="/assets/js/app.e708c228.js" as="script"><link rel="preload" href="/assets/js/3.db2f1e5f.js" as="script"><link rel="preload" href="/assets/js/83.9993f5ed.js" as="script"><link rel="preload" href="/assets/js/54.94ead0f2.js" as="script"><link rel="prefetch" href="/assets/js/10.6ed737d5.js"><link rel="prefetch" href="/assets/js/100.ce57f417.js"><link rel="prefetch" href="/assets/js/101.3df935d9.js"><link rel="prefetch" href="/assets/js/102.c60ec37a.js"><link rel="prefetch" href="/assets/js/103.fc7cccb2.js"><link rel="prefetch" href="/assets/js/104.a96cfc21.js"><link rel="prefetch" href="/assets/js/105.cb7f28ee.js"><link rel="prefetch" href="/assets/js/106.c030cf9e.js"><link rel="prefetch" href="/assets/js/107.f7e716fd.js"><link rel="prefetch" href="/assets/js/108.96b61fa3.js"><link rel="prefetch" href="/assets/js/109.591848fa.js"><link rel="prefetch" href="/assets/js/11.f23848ff.js"><link rel="prefetch" href="/assets/js/110.933b3212.js"><link rel="prefetch" href="/assets/js/111.0be16d33.js"><link rel="prefetch" href="/assets/js/112.c5cf7e2b.js"><link rel="prefetch" href="/assets/js/113.1b6e7027.js"><link rel="prefetch" href="/assets/js/114.547f72dc.js"><link rel="prefetch" href="/assets/js/12.9768d711.js"><link rel="prefetch" href="/assets/js/13.e4dc8a2c.js"><link rel="prefetch" href="/assets/js/14.c68e579e.js"><link rel="prefetch" href="/assets/js/15.9c6cc7ea.js"><link rel="prefetch" href="/assets/js/16.25acc608.js"><link rel="prefetch" href="/assets/js/17.6bfdf855.js"><link rel="prefetch" href="/assets/js/18.f36b9d48.js"><link rel="prefetch" href="/assets/js/19.4fb7dc2f.js"><link rel="prefetch" href="/assets/js/20.97d64be6.js"><link rel="prefetch" href="/assets/js/21.1c992386.js"><link rel="prefetch" href="/assets/js/22.5686c25d.js"><link rel="prefetch" href="/assets/js/23.4be23257.js"><link rel="prefetch" href="/assets/js/24.33657f7f.js"><link rel="prefetch" href="/assets/js/25.320528b6.js"><link rel="prefetch" href="/assets/js/26.aa73b215.js"><link rel="prefetch" href="/assets/js/27.ae22b260.js"><link rel="prefetch" href="/assets/js/28.8a5d68dc.js"><link rel="prefetch" href="/assets/js/29.26665480.js"><link rel="prefetch" href="/assets/js/30.78e435df.js"><link rel="prefetch" href="/assets/js/31.944caa3d.js"><link rel="prefetch" href="/assets/js/32.eb2e15c1.js"><link rel="prefetch" href="/assets/js/33.c4ed4964.js"><link rel="prefetch" href="/assets/js/34.91e03ab0.js"><link rel="prefetch" href="/assets/js/35.2525221c.js"><link rel="prefetch" href="/assets/js/36.ff0f2ba1.js"><link rel="prefetch" href="/assets/js/37.07680168.js"><link rel="prefetch" href="/assets/js/38.6c20a418.js"><link rel="prefetch" href="/assets/js/39.264885d0.js"><link rel="prefetch" href="/assets/js/4.98339c5a.js"><link rel="prefetch" href="/assets/js/40.aa0df58e.js"><link rel="prefetch" href="/assets/js/41.00ec6a3a.js"><link rel="prefetch" href="/assets/js/42.4f9c2705.js"><link rel="prefetch" href="/assets/js/43.18c94874.js"><link rel="prefetch" href="/assets/js/44.b843dc53.js"><link rel="prefetch" href="/assets/js/45.ce601065.js"><link rel="prefetch" href="/assets/js/46.231ea9e5.js"><link rel="prefetch" href="/assets/js/47.3b100c97.js"><link rel="prefetch" href="/assets/js/48.2bd06ef1.js"><link rel="prefetch" href="/assets/js/49.b3c29988.js"><link rel="prefetch" href="/assets/js/5.4edccbb7.js"><link rel="prefetch" href="/assets/js/50.c128c076.js"><link rel="prefetch" href="/assets/js/51.57f910a7.js"><link rel="prefetch" href="/assets/js/52.9673b19c.js"><link rel="prefetch" href="/assets/js/53.74822412.js"><link rel="prefetch" href="/assets/js/55.2657edb2.js"><link rel="prefetch" href="/assets/js/56.ca1f6b47.js"><link rel="prefetch" href="/assets/js/57.f2ffb074.js"><link rel="prefetch" href="/assets/js/58.aad3481a.js"><link rel="prefetch" href="/assets/js/59.6c6d9e19.js"><link rel="prefetch" href="/assets/js/6.1de86338.js"><link rel="prefetch" href="/assets/js/60.e1e4a1dd.js"><link rel="prefetch" href="/assets/js/61.c9aa409a.js"><link rel="prefetch" href="/assets/js/62.f9ff4c15.js"><link rel="prefetch" href="/assets/js/63.f7218d4f.js"><link rel="prefetch" href="/assets/js/64.fd4479bf.js"><link rel="prefetch" href="/assets/js/65.47b2f12e.js"><link rel="prefetch" href="/assets/js/66.1a99c0a9.js"><link rel="prefetch" href="/assets/js/67.791fada3.js"><link rel="prefetch" href="/assets/js/68.b1bec000.js"><link rel="prefetch" href="/assets/js/69.a639c2f3.js"><link rel="prefetch" href="/assets/js/7.cea02d3e.js"><link rel="prefetch" href="/assets/js/70.11ea071f.js"><link rel="prefetch" href="/assets/js/71.f53bb3d4.js"><link rel="prefetch" href="/assets/js/72.c5fab436.js"><link rel="prefetch" href="/assets/js/73.aed36f34.js"><link rel="prefetch" href="/assets/js/74.bcd8b441.js"><link rel="prefetch" href="/assets/js/75.8381ae34.js"><link rel="prefetch" href="/assets/js/76.a8ced92a.js"><link rel="prefetch" href="/assets/js/77.824eaeec.js"><link rel="prefetch" href="/assets/js/78.aca9fa09.js"><link rel="prefetch" href="/assets/js/79.bf315430.js"><link rel="prefetch" href="/assets/js/8.74f13dae.js"><link rel="prefetch" href="/assets/js/80.53eb46d1.js"><link rel="prefetch" href="/assets/js/81.bcf973bd.js"><link rel="prefetch" href="/assets/js/82.22b94ced.js"><link rel="prefetch" href="/assets/js/84.376d4f1c.js"><link rel="prefetch" href="/assets/js/85.2e0f7fca.js"><link rel="prefetch" href="/assets/js/86.11c21705.js"><link rel="prefetch" href="/assets/js/87.9ca94b0e.js"><link rel="prefetch" href="/assets/js/88.500879fa.js"><link rel="prefetch" href="/assets/js/89.87a60d2e.js"><link rel="prefetch" href="/assets/js/9.02d42a35.js"><link rel="prefetch" href="/assets/js/90.458ff2d4.js"><link rel="prefetch" href="/assets/js/91.2d25b4f0.js"><link rel="prefetch" href="/assets/js/92.ec4c7b72.js"><link rel="prefetch" href="/assets/js/93.35f65ff4.js"><link rel="prefetch" href="/assets/js/94.b9bb1a80.js"><link rel="prefetch" href="/assets/js/95.05151362.js"><link rel="prefetch" href="/assets/js/96.ed53cc9e.js"><link rel="prefetch" href="/assets/js/97.0ef7a53a.js"><link rel="prefetch" href="/assets/js/98.c43a624e.js"><link rel="prefetch" href="/assets/js/99.144eda80.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.9416a2d8.js">
  10. <link rel="stylesheet" href="/assets/css/0.styles.9f9689a0.css">
  11. </head>
  12. <body>
  13. <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">看白鹿的博客</span></a> <div class="links"><form id="search-form" role="search" class="algolia-search-wrapper search-box"><input id="algolia-search-input" class="search-query"></form> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="前端" class="dropdown-title"><span class="title">前端</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/CSS/" class="nav-link">CSS</a></li><li class="dropdown-item"><!----> <a href="/FLUTTER/" class="nav-link">flutter</a></li><li class="dropdown-item"><!----> <a href="/GIT/" class="nav-link">GIT</a></li><li class="dropdown-item"><!----> <a href="/JavaScript/" class="nav-link router-link-active">JavaScript</a></li><li class="dropdown-item"><!----> <a href="/REACT/" class="nav-link">react</a></li><li class="dropdown-item"><!----> <a href="/VUE/" class="nav-link">vue</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="后台" class="dropdown-title"><span class="title">后台</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/NODE/" class="nav-link">node</a></li><li class="dropdown-item"><!----> <a href="/UBUNTU/" class="nav-link">ubuntu</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="其他" class="dropdown-title"><span class="title">其他</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/IDE/" class="nav-link">IDE</a></li><li class="dropdown-item"><!----> <a href="/About/WHY.html" class="nav-link">待了解</a></li><li class="dropdown-item"><!----> <a href="/INTERVIEW/" class="nav-link">面试</a></li><li class="dropdown-item"><!----> <a href="/hello/" class="nav-link">你好</a></li></ul></div></div><div class="nav-item"><a href="https://github.com/Johnhong9527" target="_blank" rel="noopener noreferrer" class="nav-link external">
  14. GitHub
  15. <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="前端" class="dropdown-title"><span class="title">前端</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/CSS/" class="nav-link">CSS</a></li><li class="dropdown-item"><!----> <a href="/FLUTTER/" class="nav-link">flutter</a></li><li class="dropdown-item"><!----> <a href="/GIT/" class="nav-link">GIT</a></li><li class="dropdown-item"><!----> <a href="/JavaScript/" class="nav-link router-link-active">JavaScript</a></li><li class="dropdown-item"><!----> <a href="/REACT/" class="nav-link">react</a></li><li class="dropdown-item"><!----> <a href="/VUE/" class="nav-link">vue</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="后台" class="dropdown-title"><span class="title">后台</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/NODE/" class="nav-link">node</a></li><li class="dropdown-item"><!----> <a href="/UBUNTU/" class="nav-link">ubuntu</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="其他" class="dropdown-title"><span class="title">其他</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/IDE/" class="nav-link">IDE</a></li><li class="dropdown-item"><!----> <a href="/About/WHY.html" class="nav-link">待了解</a></li><li class="dropdown-item"><!----> <a href="/INTERVIEW/" class="nav-link">面试</a></li><li class="dropdown-item"><!----> <a href="/hello/" class="nav-link">你好</a></li></ul></div></div><div class="nav-item"><a href="https://github.com/Johnhong9527" target="_blank" rel="noopener noreferrer" class="nav-link external">
  16. GitHub
  17. <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/JavaScript/" class="sidebar-link">JS 目录</a></li><li><a href="/JavaScript/2018_10_29_02.html" class="sidebar-link">代码收集</a></li><li><a href="/JavaScript/2018_10_28_01.html" class="active sidebar-link">动态替换图片</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#最简单的示例" class="sidebar-link">最简单的示例</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#稍微复杂一点" class="sidebar-link">稍微复杂一点</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#更新说明" class="sidebar-link">更新说明:</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#目的:" class="sidebar-link">目的:</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#展现方式:" class="sidebar-link">展现方式:</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#使用技巧" class="sidebar-link">使用技巧</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#项目结构:" class="sidebar-link">项目结构:</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#index-html-详解" class="sidebar-link">index.html 详解</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#模态框" class="sidebar-link">模态框</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_10_28_01.html#index-js-详解" class="sidebar-link">index.js 详解</a></li></ul></li><li><a href="/JavaScript/2018_11_02_01.html" class="sidebar-link">战舰游戏</a></li><li><a href="/JavaScript/2018_11_02_02.html" class="sidebar-link">原理</a></li><li><a href="/JavaScript/2018_11_02_03.html" class="sidebar-link">匿名函数和闭包</a></li><li><a href="/JavaScript/2018_11_02_04.html" class="sidebar-link">instanceof运算符</a></li><li><a href="/JavaScript/2018_11_02_05.html" class="sidebar-link">JavaScript 事件流</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="动态替换图片"><a href="#动态替换图片" class="header-anchor">#</a> 动态替换图片</h1> <h2 id="最简单的示例"><a href="#最简单的示例" class="header-anchor">#</a> 最简单的示例</h2> <div class="language-html line-numbers-mode"><pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>img-wrapper<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  18. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">'</span>replacement<span class="token punctuation">'</span></span><span class="token punctuation">&gt;</span></span>
  19. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">'</span>[图片1]<span class="token punctuation">'</span></span> <span class="token punctuation">&gt;</span></span>
  20. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  21. <span class="token comment">&lt;!-----------------&gt;</span>
  22. <span class="token comment">&lt;!--忽略同类型代码.--&gt;</span>
  23. <span class="token comment">&lt;!-----------------&gt;</span>
  24. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">'</span>replacement<span class="token punctuation">'</span></span><span class="token punctuation">&gt;</span></span>
  25. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">'</span>[图片10]<span class="token punctuation">'</span></span><span class="token punctuation">&gt;</span></span>
  26. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  27. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  28. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><div class="language-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.img-wrapper</span> <span class="token punctuation">{</span>
  29. <span class="token property">margin-top</span><span class="token punctuation">:</span> 30px<span class="token punctuation">;</span>
  30. <span class="token property">display</span><span class="token punctuation">:</span> flex<span class="token punctuation">;</span>
  31. <span class="token property">justify-content</span><span class="token punctuation">:</span> space-around<span class="token punctuation">;</span>
  32. <span class="token punctuation">}</span>
  33. <span class="token selector">.img-wrapper &gt; div</span> <span class="token punctuation">{</span>
  34. <span class="token property">flex</span><span class="token punctuation">:</span> 0 0 100px<span class="token punctuation">;</span>
  35. <span class="token property">border</span><span class="token punctuation">:</span> 1px solid<span class="token punctuation">;</span>
  36. <span class="token punctuation">}</span>
  37. <span class="token selector">img</span> <span class="token punctuation">{</span>
  38. <span class="token property">width</span><span class="token punctuation">:</span> 100%<span class="token punctuation">;</span>
  39. <span class="token property">height</span><span class="token punctuation">:</span> 100%<span class="token punctuation">;</span>
  40. <span class="token punctuation">}</span>
  41. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br></div></div><div class="language-js line-numbers-mode"><pre class="language-js"><code><span class="token comment">// 定义图片源数据</span>
  42. <span class="token keyword">let</span> imgs <span class="token operator">=</span> <span class="token punctuation">[</span>
  43. <span class="token string">'[图片1]'</span><span class="token punctuation">,</span>
  44. <span class="token comment">//---------------//</span>
  45. <span class="token comment">// 忽略同类型代码. //</span>
  46. <span class="token comment">//---------------//</span>
  47. <span class="token string">'[图片2]'</span><span class="token punctuation">,</span>
  48. <span class="token punctuation">]</span><span class="token punctuation">;</span>
  49. <span class="token keyword">function</span> <span class="token function">replacement</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  50. <span class="token comment">// 获取img-wrapper下的所有子节点</span>
  51. <span class="token keyword">let</span> imgWrapper <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementsByClassName</span><span class="token punctuation">(</span><span class="token string">'img-wrapper'</span><span class="token punctuation">)</span><span class="token punctuation">.</span>childNodes<span class="token punctuation">;</span>
  52. <span class="token comment">//设置其他img图像为正常显示</span>
  53. <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> imgWrapper<span class="token punctuation">.</span>length<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  54. imgWrapper<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>children<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>src <span class="token operator">=</span> imgs<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">;</span>
  55. <span class="token punctuation">}</span>
  56. <span class="token comment">// 设置被点击元素的图像</span>
  57. <span class="token keyword">this</span><span class="token punctuation">.</span>children<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>src <span class="token operator">=</span> <span class="token string">'[需要展示的图片链接]'</span><span class="token punctuation">;</span>
  58. <span class="token punctuation">}</span>
  59. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div><div class="dynamic_replacement_image" data-v-488aec74><div class="img-wrapper" data-v-488aec74><div data-v-488aec74><img ondragstart="return false;" src="/images/js/2018_10_28/images/01.png" alt data-v-488aec74></div><div data-v-488aec74><img ondragstart="return false;" src="/images/js/2018_10_28/images/02.png" alt data-v-488aec74></div><div data-v-488aec74><img ondragstart="return false;" src="/images/js/2018_10_28/images/03.png" alt data-v-488aec74></div></div></div> <h2 id="稍微复杂一点"><a href="#稍微复杂一点" class="header-anchor">#</a> 稍微复杂一点</h2> <p>通多<code>js</code>去创建重复的<code>div</code>布局.并设置样式.最后结果同上.</p> <p>但是这个例子没有做需要做循环的元素总量达到 100 或是更高数量的性能优化.</p> <div class="language-html line-numbers-mode"><pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>imgWrapper<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  60. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><div class="language-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">#imgWrapper</span> <span class="token punctuation">{</span>
  61. <span class="token property">display</span><span class="token punctuation">:</span> flex<span class="token punctuation">;</span>
  62. <span class="token property">width</span><span class="token punctuation">:</span> 100%<span class="token punctuation">;</span>
  63. <span class="token property">flex-wrap</span><span class="token punctuation">:</span> wrap<span class="token punctuation">;</span>
  64. <span class="token punctuation">}</span>
  65. <span class="token selector">#imgWrapper &gt; div</span> <span class="token punctuation">{</span>
  66. <span class="token property">flex</span><span class="token punctuation">:</span> 0 0 200px<span class="token punctuation">;</span>
  67. <span class="token punctuation">}</span>
  68. <span class="token selector">#imgWrapper &gt; div &gt; img</span> <span class="token punctuation">{</span>
  69. <span class="token property">display</span><span class="token punctuation">:</span> block<span class="token punctuation">;</span>
  70. <span class="token property">width</span><span class="token punctuation">:</span> 100%<span class="token punctuation">;</span>
  71. <span class="token property">height</span><span class="token punctuation">:</span> auto<span class="token punctuation">;</span>
  72. <span class="token punctuation">}</span>
  73. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br></div></div><div class="language-js line-numbers-mode"><pre class="language-js"><code>window<span class="token punctuation">.</span><span class="token function-variable function">onload</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
  74. <span class="token keyword">let</span> imgWrapper <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'imgWrapper'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 待插入元素的总容器</span>
  75. <span class="token comment">// 通过 for 循环语句,创建示例元素</span>
  76. <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">10</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  77. <span class="token keyword">let</span> newNode <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">createElement</span><span class="token punctuation">(</span><span class="token string">'div'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 自定义需要插入图片的容器</span>
  78. <span class="token keyword">let</span> newNodeImage <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">createElement</span><span class="token punctuation">(</span><span class="token string">'img'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 自定义图片容器</span>
  79. <span class="token comment">// 由于图片名字的格式为 01.png</span>
  80. <span class="token comment">// 所以需要通过自定义 的 indexSrc 方法,转换 i 为符合要求的格式</span>
  81. <span class="token keyword">let</span> index <span class="token operator">=</span> <span class="token function">indexSrc</span><span class="token punctuation">(</span>j<span class="token punctuation">)</span><span class="token punctuation">;</span>
  82. <span class="token comment">// 下面是 div img 的组装了.</span>
  83. newNodeImage<span class="token punctuation">.</span>src <span class="token operator">=</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">./images/</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>index<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">.png</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>
  84. newNode<span class="token punctuation">.</span><span class="token function">appendChild</span><span class="token punctuation">(</span>newNodeImage<span class="token punctuation">)</span><span class="token punctuation">;</span>
  85. imgWrapper<span class="token punctuation">.</span><span class="token function">appendChild</span><span class="token punctuation">(</span>newNode<span class="token punctuation">)</span><span class="token punctuation">;</span>
  86. <span class="token punctuation">}</span>
  87. <span class="token comment">// 通过 for 循环语句,给每个 img 的父元素添加点击事件,改变元素内部的 img 的 src 属性</span>
  88. <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> imgWrapper<span class="token punctuation">.</span>children<span class="token punctuation">.</span>length<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  89. imgWrapper<span class="token punctuation">.</span>children<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">'click'</span><span class="token punctuation">,</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  90. <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> j <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> j <span class="token operator">&lt;</span> imgWrapper<span class="token punctuation">.</span>children<span class="token punctuation">.</span>length<span class="token punctuation">;</span> j<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  91. <span class="token keyword">let</span> index <span class="token operator">=</span> <span class="token function">indexSrc</span><span class="token punctuation">(</span>j<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 同上</span>
  92. imgWrapper<span class="token punctuation">.</span>children<span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">.</span>children<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>src <span class="token operator">=</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">./images/</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>index<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">.png</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>
  93. <span class="token punctuation">}</span>
  94. <span class="token keyword">this</span><span class="token punctuation">.</span>children<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>src <span class="token operator">=</span> <span class="token string">'./images/qq.png'</span><span class="token punctuation">;</span>
  95. <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  96. <span class="token punctuation">}</span>
  97. <span class="token keyword">function</span> <span class="token function">indexSrc</span><span class="token punctuation">(</span><span class="token parameter">index</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  98. <span class="token comment">// 这里涉及到 + 的优先级. 过程是 index 先同 1 相加,然会再去同 为空的 '' 相加</span>
  99. index <span class="token operator">=</span> <span class="token string">''</span> <span class="token operator">+</span> index <span class="token operator">+</span> <span class="token number">1</span><span class="token punctuation">;</span>
  100. <span class="token keyword">if</span> <span class="token punctuation">(</span>index<span class="token punctuation">.</span>length <span class="token operator">&lt;</span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  101. index <span class="token operator">=</span> <span class="token string">'0'</span> <span class="token operator">+</span> index<span class="token punctuation">;</span>
  102. <span class="token punctuation">}</span>
  103. <span class="token keyword">return</span> index<span class="token punctuation">;</span>
  104. <span class="token punctuation">}</span>
  105. <span class="token punctuation">}</span><span class="token punctuation">;</span>
  106. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br></div></div><h2 id="更新说明"><a href="#更新说明" class="header-anchor">#</a> 更新说明:</h2> <p>下面的内容部分还有函数部分,写的一团糟糕.建议不要做浏览(由于是第一篇博文,所以做保留处理).<br>
  107. 所以我写了一个最简单的示例.看上面部分即可.</p> <h2 id="目的:"><a href="#目的:" class="header-anchor">#</a> 目的:</h2> <p>在制作个人网站的时候,我需要在 header 里面加入各大社交网站的直链,可以让更多人,找到我,提供他们的想法。并且去实现那个想法。</p> <h2 id="展现方式:"><a href="#展现方式:" class="header-anchor">#</a> 展现方式:</h2> <p>是以一种点击图标的的形式,展示不同社交网站的二维码或者是链接。在开发过程中遇到很多有意思的坑,想分享给大家,希望可以给看到本文的小伙伴提供点帮助。</p> <h2 id="使用技巧"><a href="#使用技巧" class="header-anchor">#</a> 使用技巧</h2> <p>由于在一开始,我们就用了多个程序来进行区分不同事件点击之后,显示不同的图片的功能。但是在一段时间之后发现这样子的代码谈不上什么有价值的,所以我重新花了点时间,把代码重新架构了一番。清理了冗余代码,同时也把程序优化了。
  108. 优化之后的程序只要将植入代码,就可以实现简单的点击不同按钮,相同位置展示不同图片功能。</p> <h2 id="项目结构:"><a href="#项目结构:" class="header-anchor">#</a> 项目结构:</h2> <div class="language- line-numbers-mode"><pre class="language-text"><code>├──index // 示例 index
  109. │ ├──js
  110. │ │ └──index.js
  111. │ ├──css
  112. │ │ └──index.js
  113. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><h2 id="index-html-详解"><a href="#index-html-详解" class="header-anchor">#</a> index.html 详解</h2> <p>首先页面 header 排版,设置具体结构</p> <div class="language-html line-numbers-mode"><pre class="language-html"><code>├── div // 示例 header
  114. │ ├── div
  115. │ │ └── img
  116. │ │ └── img
  117. │ │ └── img
  118. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p>在每个 img 中添加 onclick=&quot;hImage()&quot;属性,并给每个&quot;hImage()&quot;中加入&quot;1-3&quot;值;设置这个值,是为了在 index.js 的 hImage()函数中做出对应的判断。</p> <div class="language-html line-numbers-mode"><pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>h-image<span class="token punctuation">&quot;</span></span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hImage(1)<span class="token punctuation">&quot;</span></span> <span class="token attr-name">width</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>50<span class="token punctuation">&quot;</span></span> <span class="token attr-name">height</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>25<span class="token punctuation">&quot;</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>图标1<span class="token punctuation">&quot;</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>1<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  119. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><div class="language-html line-numbers-mode"><pre class="language-html"><code><span class="token comment">&lt;!--主框架--&gt;</span>
  120. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>h-box<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  121. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token style-attr language-css"><span class="token attr-name"> <span class="token attr-name">style</span></span><span class="token punctuation">=&quot;</span><span class="token attr-value"><span class="token property">color</span><span class="token punctuation">:</span> #fff<span class="token punctuation">;</span><span class="token property">text-align</span><span class="token punctuation">:</span> center</span><span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  122. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>h-image<span class="token punctuation">&quot;</span></span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hImage(1)<span class="token punctuation">&quot;</span></span> <span class="token attr-name">width</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>50<span class="token punctuation">&quot;</span></span> <span class="token attr-name">height</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>25<span class="token punctuation">&quot;</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>图标1<span class="token punctuation">&quot;</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>1<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  123. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>h-image<span class="token punctuation">&quot;</span></span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hImage(2)<span class="token punctuation">&quot;</span></span> <span class="token attr-name">width</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>50<span class="token punctuation">&quot;</span></span> <span class="token attr-name">height</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>25<span class="token punctuation">&quot;</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>图标2<span class="token punctuation">&quot;</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>2<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  124. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>h-image<span class="token punctuation">&quot;</span></span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hImage(3)<span class="token punctuation">&quot;</span></span> <span class="token attr-name">width</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>50<span class="token punctuation">&quot;</span></span> <span class="token attr-name">height</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>25<span class="token punctuation">&quot;</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>图标3<span class="token punctuation">&quot;</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>3<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  125. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  126. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  127. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><h2 id="模态框"><a href="#模态框" class="header-anchor">#</a> 模态框</h2> <div class="language-html line-numbers-mode"><pre class="language-html"><code>├── div // 示例 模态框
  128. │ ├── div
  129. │ │ └── div
  130. │ │ └── img
  131. │ │ └── h1
  132. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p>第一层 div 设置模态框显示之后的透明色背景。
  133. 第二层 div 主要是做模态框显示之后的内容的框架
  134. 第二层 div 下面的 div 是关闭模态框按钮。里面加入 onclick=&quot;hShow()&quot; 函数,该函数负责关闭模态框</p> <div class="language-html line-numbers-mode"><pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hShow()<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>×<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  135. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>第二层 div 下面的 img 则是展示不同图标点击之后,显示的二维码
  136. 第二层 div 下面的 h1 则是展示不同图标点击之后,显示的提示信息
  137. 这里的模态框设置
  138. 使用 position 中的 fixed,来设置模态框的位置与样式。同</p> <div class="language-html line-numbers-mode"><pre class="language-html"><code><span class="token comment">&lt;!--模板--&gt;</span>
  139. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>h-module<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  140. <span class="token comment">&lt;!--放置二维码图片--&gt;</span>
  141. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">&gt;</span></span>
  142. <span class="token comment">&lt;!--设置模态框关闭按钮--&gt;</span>
  143. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hShow()<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>×<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  144. <span class="token comment">&lt;!--图片放置路径--&gt;</span>
  145. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>img</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hhtImg<span class="token punctuation">&quot;</span></span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span><span class="token punctuation">&quot;</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span><span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
  146. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h1</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">&quot;</span>hText<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h1</span><span class="token punctuation">&gt;</span></span>
  147. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  148. <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
  149. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><h2 id="index-js-详解"><a href="#index-js-详解" class="header-anchor">#</a> index.js 详解</h2> <div class="language-js line-numbers-mode"><pre class="language-js"><code><span class="token keyword">var</span> hModule <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementsByClassName</span><span class="token punctuation">(</span><span class="token string">'h-module'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//获取模态框中的关闭按钮属性</span>
  150. <span class="token keyword">var</span> hhtImg <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'hhtImg'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//设置模态框不同位置按钮点击之后展示的属性图片属性</span>
  151. <span class="token keyword">var</span> hText <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'hText'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//设置模态框显示之后的提示信息</span>
  152. <span class="token comment">/*hImage函数
  153. * 由于图片只有一张,所以同时设置title属性以示区分
  154. * 通过 switch语句判断点击不同按钮,
  155. * 在模态框展示不同的图片。
  156. */</span>
  157. <span class="token keyword">function</span> <span class="token function">hImage</span><span class="token punctuation">(</span><span class="token parameter">e</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  158. console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  159. <span class="token keyword">switch</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token punctuation">{</span>
  160. <span class="token keyword">case</span> <span class="token number">1</span><span class="token punctuation">:</span>
  161. <span class="token comment">//hhtImg.src为设置需要展示的图片的地址</span>
  162. hhtImg<span class="token punctuation">.</span>src <span class="token operator">=</span>
  163. <span class="token string">'http://oigzh9iic.bkt.clouddn.com/%E4%BA%AB%E6%9C%88%E4%BC%9A%E5%85%AC%E4%BC%97%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg'</span><span class="token punctuation">;</span>
  164. hhtImg<span class="token punctuation">.</span>title <span class="token operator">=</span> <span class="token string">'这里是'</span> <span class="token operator">+</span> e<span class="token punctuation">;</span> <span class="token comment">//此处设置鼠标悬浮于图片时显示的文字</span>
  165. hText<span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> <span class="token string">'这里是二维码'</span> <span class="token operator">+</span> e<span class="token punctuation">;</span> <span class="token comment">//此出设置模态框显示之后,展示提示文字的内容</span>
  166. <span class="token keyword">break</span><span class="token punctuation">;</span>
  167. <span class="token keyword">case</span> <span class="token number">2</span><span class="token punctuation">:</span>
  168. hhtImg<span class="token punctuation">.</span>src <span class="token operator">=</span>
  169. <span class="token string">'http://oigzh9iic.bkt.clouddn.com/%E4%BA%AB%E6%9C%88%E4%BC%9A%E5%85%AC%E4%BC%97%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg'</span><span class="token punctuation">;</span>
  170. hhtImg<span class="token punctuation">.</span>title <span class="token operator">=</span> <span class="token string">'这里是'</span> <span class="token operator">+</span> e<span class="token punctuation">;</span>
  171. hText<span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> <span class="token string">'这里是二维码'</span> <span class="token operator">+</span> e<span class="token punctuation">;</span>
  172. <span class="token keyword">break</span><span class="token punctuation">;</span>
  173. <span class="token keyword">case</span> <span class="token number">3</span><span class="token punctuation">:</span>
  174. hhtImg<span class="token punctuation">.</span>src <span class="token operator">=</span>
  175. <span class="token string">'http://oigzh9iic.bkt.clouddn.com/%E4%BA%AB%E6%9C%88%E4%BC%9A%E5%85%AC%E4%BC%97%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg'</span><span class="token punctuation">;</span>
  176. hhtImg<span class="token punctuation">.</span>title <span class="token operator">=</span> <span class="token string">'这里是'</span> <span class="token operator">+</span> e<span class="token punctuation">;</span>
  177. hText<span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> <span class="token string">'这里是二维码'</span> <span class="token operator">+</span> e<span class="token punctuation">;</span>
  178. <span class="token keyword">break</span><span class="token punctuation">;</span>
  179. <span class="token punctuation">}</span>
  180. hModule<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>style<span class="token punctuation">.</span>display <span class="token operator">=</span> <span class="token string">'block'</span><span class="token punctuation">;</span>
  181. <span class="token punctuation">}</span>
  182. <span class="token comment">/*hShow函数
  183. * 功能:关闭模态框;
  184. * 由于原生js中,获取参数的值
  185. * 之后,其属性为数组形式;
  186. * 需要设置下标,再去设置style属性,
  187. * 或者是其他属性
  188. * */</span>
  189. <span class="token keyword">function</span> <span class="token function">hShow</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  190. hModule<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>style<span class="token punctuation">.</span>display <span class="token operator">=</span> <span class="token string">'none'</span><span class="token punctuation">;</span>
  191. <span class="token punctuation">}</span>
  192. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br></div></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">11/2/2018, 4:24:41 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
  193. <a href="/JavaScript/2018_10_29_02.html" class="prev">代码收集</a></span> <span class="next"><a href="/JavaScript/2018_11_02_01.html">战舰游戏</a>
  194. </span></p></div> </main></div><div class="global-ui"></div></div>
  195. <script src="/assets/js/app.e708c228.js" defer></script><script src="/assets/js/3.db2f1e5f.js" defer></script><script src="/assets/js/83.9993f5ed.js" defer></script><script src="/assets/js/54.94ead0f2.js" defer></script>
  196. </body>
  197. </html>