123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953 |
- <!DOCTYPE HTML>
- <html lang="" >
- <head>
- <meta charset="UTF-8">
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <title>常用功能收集 · 代码收集</title>
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="description" content="">
- <meta name="generator" content="GitBook 3.1.1">
-
-
-
-
- <link rel="stylesheet" href="../../gitbook/style.css">
-
-
-
- <link rel="stylesheet" href="../../gitbook/gitbook-plugin-search-pro/search.css">
-
-
-
- <link rel="stylesheet" href="../../gitbook/gitbook-plugin-highlight/website.css">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <meta name="HandheldFriendly" content="true"/>
- <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
- <meta name="apple-mobile-web-app-capable" content="yes">
- <meta name="apple-mobile-web-app-status-bar-style" content="black">
- <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
- <link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
-
- <link rel="next" href="../../angular/study_notes/" />
-
-
- <link rel="prev" href="04.html" />
-
- </head>
- <body>
-
- <div class="gb-page-wrapper">
- <header class="gb-page-header">
- <div class="container">
-
-
- <div id="book-search-input" role="search">
- <input type="text" placeholder="Type to search" />
- </div>
- <a href="../.." class="logo">
- <img src="../../gitbook/images/logo/128.png">
- <h1>代码收集</h1>
- </a>
-
-
- <a href="https://github.com/seamong/myBlogs/blob/doc/JavaScript/cases/05.md" target="_blank" class="btn btn-link pull-right hidden-xs">
- <i class="octicon octicon-mark-github"></i> 在GitHub编辑本页
- </a>
- <a href="../../faq.md" class="btn btn-link pull-right hidden-xs">
- F.A.Q
- </a>
- <a href="https://github.com/seamong/myBlogs/README.md" target="_blank" class="btn btn-link pull-right hidden-xs">
- 当前版本0.0.1
- </a>
-
- </div>
- </header>
- <div class="gb-page-body">
- <div class="gb-page-inner">
- <div class="container">
- <div class="row">
- <div class="col-md-3">
-
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">介绍</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../" class="list-group-item ">
-
-
-
- 关于本文档
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">JavaScript</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../principle/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 原理解析
-
- </a>
-
-
-
-
- <a href="./" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-down"></i>
-
- 案例解析
-
- </a>
-
-
-
-
-
- <a href="0.html" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 动态替换图片
-
- </a>
-
-
-
-
- <a href="01.html" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 原生Ajax学习
-
- </a>
-
-
-
-
- <a href="02.html" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- React/React Native 的ES5 ES6写法对照表
-
- </a>
-
-
-
-
- <a href="03.html" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 战舰游戏
-
- </a>
-
-
-
-
- <a href="04.html" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 正则截取指定字符串
-
- </a>
-
-
-
-
- <a href="05.html" class="list-group-item active">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 常用功能收集
-
- </a>
-
-
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">angular</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../angular/study_notes/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- Study notes
-
- </a>
-
-
-
-
- <a href="../../angular/ng.html" class="list-group-item ">
-
-
-
- ng
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">css</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../css/principle/" class="list-group-item ">
-
-
-
- 原理解析
-
- </a>
-
-
-
-
- <a href="../../css/cases/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 案例收集
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">vue</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../vue/components/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- components
-
- </a>
-
-
-
-
- <a href="../../vue/router/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- router
-
- </a>
-
-
-
-
- <a href="../../vue/vuex/" class="list-group-item ">
-
-
-
- VUE
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">ubuntu</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../ubuntu/serves/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 服务器生存指南
-
- </a>
-
-
-
-
- <a href="../../ubuntu/instruction.html" class="list-group-item ">
-
-
-
- 常用指令
-
- </a>
-
-
-
-
- <a href="../../ubuntu/software/" class="list-group-item ">
-
-
-
- 常用软件安装
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">GIT</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../git/git.html" class="list-group-item ">
-
-
-
- git 命令
-
- </a>
-
-
-
-
- <a href="../../git/push.html" class="list-group-item ">
-
-
-
- git~push
-
- </a>
-
-
-
-
- <a href="../../git/faq.html" class="list-group-item ">
-
-
-
- git~F.A.Q
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">NODE&NPM</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../node/0.html" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- node
-
- </a>
-
-
-
-
- <a href="../../node/npm/0.html" class="list-group-item ">
-
-
-
- npm
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="list-group">
-
-
-
- <a href="../../other/faq.html" class="list-group-item ">
-
-
-
- FAQ
-
- </a>
-
-
-
-
- <a href="../../other/examples.html" class="list-group-item ">
-
-
-
- Examples
-
- </a>
-
-
-
- </div>
- </div>
-
- </div>
- <div class="col-md-9">
-
- <div id="book-search-results">
- <div class="search-noresults">
-
-
- <div class="gb-markdown book-page-inner">
- <h1 id="常用功能收集">常用功能收集</h1>
- <h4 id="浏览器基本信息判断">浏览器基本信息判断</h4>
- <pre><code class="lang-javascript"> <span class="hljs-comment">/*
- * 智能机浏览器版本信息:
- *
- */</span>
- <span class="hljs-keyword">var</span> browser = {
- versions: <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">var</span> u = navigator.userAgent, app = navigator.appVersion;
- <span class="hljs-built_in">console</span>.log(u);
- <span class="hljs-keyword">return</span> {<span class="hljs-comment">//移动终端浏览器版本信息</span>
- trident: u.indexOf(<span class="hljs-string">'Trident'</span>) > <span class="hljs-number">-1</span>, <span class="hljs-comment">//IE内核</span>
- presto: u.indexOf(<span class="hljs-string">'Presto'</span>) > <span class="hljs-number">-1</span>, <span class="hljs-comment">//opera内核</span>
- webKit: u.indexOf(<span class="hljs-string">'AppleWebKit'</span>) > <span class="hljs-number">-1</span>, <span class="hljs-comment">//苹果、谷歌内核</span>
- gecko: u.indexOf(<span class="hljs-string">'Gecko'</span>) > <span class="hljs-number">-1</span> && u.indexOf(<span class="hljs-string">'KHTML'</span>) == <span class="hljs-number">-1</span>, <span class="hljs-comment">//火狐内核</span>
- mobile: !!u.match(<span class="hljs-regexp">/Mobile/g</span>), <span class="hljs-comment">//去掉浏览器内核判断</span>
- <span class="hljs-comment">// mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端</span>
- ios: !!u.match(<span class="hljs-regexp">/\(i[^;]+;( U;)? CPU.+Mac OS X/</span>), <span class="hljs-comment">//ios终端</span>
- android: u.indexOf(<span class="hljs-string">'Android'</span>) > <span class="hljs-number">-1</span> || u.indexOf(<span class="hljs-string">'Linux'</span>) > <span class="hljs-number">-1</span>, <span class="hljs-comment">//android终端或者uc浏览器</span>
- iPhone: u.indexOf(<span class="hljs-string">'iPhone'</span>) > <span class="hljs-number">-1</span> || u.indexOf(<span class="hljs-string">'Mac'</span>) > <span class="hljs-number">-1</span>, <span class="hljs-comment">//是否为iPhone或者QQHD浏览器</span>
- iPad: u.indexOf(<span class="hljs-string">'iPad'</span>) > <span class="hljs-number">-1</span>, <span class="hljs-comment">//是否iPad</span>
- webApp: u.indexOf(<span class="hljs-string">'Safari'</span>) == <span class="hljs-number">-1</span> <span class="hljs-comment">//是否web应该程序,没有头部与底部</span>
- };
- }(),
- language: (navigator.browserLanguage || navigator.language).toLowerCase()
- }
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">"语言版本: "</span> + browser.language);
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">" 是否为移动终端: "</span> + browser.versions.mobile);
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">" 是否为webKit: "</span> + browser.versions.webKit);
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">" ios终端: "</span> + browser.versions.ios);
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">" android终端: "</span> + browser.versions.android);
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">" 是否为iPhone: "</span> + browser.versions.iPhone);
- <span class="hljs-built_in">document</span>.writeln(<span class="hljs-string">" 是否iPad: "</span> + browser.versions.iPad);
- <span class="hljs-built_in">document</span>.writeln(navigator.userAgent);
- </code></pre>
- <h4 id="javascriptjquery判断元素即将出现在文档可视区域或文档可视区域的顶部">JavaScript|jQuery判断元素即将出现在文档可视区域或文档可视区域的顶部</h4>
- <pre><code class="lang-javascript"><span class="hljs-comment">/* JavaScript判断元素即将出现在文档可视区域或离开文档可视区域.
- 一、判断元素是否处于可视文档区域顶部
- 判断条件:DOMTop.offsetTop + clientHeight - 10 < clientHeight + scrollTop
- 解析:
- 获取元素距离文档顶端的长度,然后与窗口的高度相加;
- 接着,再通过获取窗口滚动条顶端与文档顶端的距离;
- 并通过判断得到元素是否处于,距离可视文档区域的顶部10个单位的位置.
- 二、判断元素是否即将出现在可视窗口的底部
- 判断条件:DOMTop.offsetTop -10 < clientHeight + scrollTop
- 解析:基本思路同上一致.
- */</span>
- <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">init</span>(<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">var</span> DOMTop = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'box'</span>);
- <span class="hljs-built_in">document</span>.addEventListener(<span class="hljs-string">'scroll'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">var</span> clientHeight = <span class="hljs-built_in">document</span>.documentElement.clientHeight;
- <span class="hljs-keyword">var</span> scrollTop = <span class="hljs-built_in">document</span>.documentElement.scrollTop;
- <span class="hljs-keyword">if</span> (DOMTop.offsetTop + clientHeight - <span class="hljs-number">10</span> < clientHeight + scrollTop) {
- <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'发现元素'</span>)
- }
- })
- }
- <span class="hljs-built_in">window</span>.onload = init;
- <span class="hljs-comment">// delete init();</span>
- <span class="hljs-comment">/*jQuery判断元素即将出现在文档可视区域或离开文档可视区域.
- 思路同上一致,表达方式不同
- 当元素距离可视区域还有10的长度时,执行相关程序*/</span>
- <span class="hljs-comment">/*$(document).ready(function () {
- $(window).scroll(function () {
- // console.log($(window).scrollTop() + $(window).height())
- // 文档距离屏幕可视区域的距离
- var DOMTop = $('.box').offset().top + 10;
- // 文档已经滑动的距离 + 窗口的高度
- var DOMScrollHeight = $(window).scrollTop() + $(window).height();
- // 元素距离可视区域顶部距离为10的时候触发
- if (DOMTop < DOMScrollHeight) {
- console.log('DOMTop' + DOMTop);
- console.log('DOMScrollHeight' + DOMScrollHeight);
- }
- });
- });*/</span>
- </code></pre>
- <h4 id="导航条动画,设定">导航条动画,设定</h4>
- <pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">navAnimation</span>(<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">let</span> DOMTop = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'nav'</span>), <span class="hljs-comment">// 获取导航对象</span>
- clientHeight = <span class="hljs-built_in">document</span>.documentElement.clientHeight, <span class="hljs-comment">// 获取窗口可视区域高度</span>
- tru = <span class="hljs-literal">true</span>, <span class="hljs-comment">// 是否替换类名的依据</span>
- clientHeightScrollTop = clientHeight + DOMTop.offsetTop + DOMTop.clientHeight; <span class="hljs-comment">// 是否替换类名的依据</span>
- <span class="hljs-comment">// 监听文档滚动条事件,绑定动画</span>
- <span class="hljs-built_in">document</span>.addEventListener(<span class="hljs-string">'scroll'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">let</span> scrollTop = <span class="hljs-literal">null</span>;
- <span class="hljs-keyword">if</span> (<span class="hljs-built_in">document</span>.body.scrollTop !== <span class="hljs-number">0</span>) {
- scrollTop = <span class="hljs-built_in">document</span>.body.scrollTop
- } <span class="hljs-keyword">else</span> {
- scrollTop = <span class="hljs-built_in">document</span>.documentElement.scrollTop
- }
- <span class="hljs-keyword">if</span> (tru && clientHeightScrollTop < clientHeight + scrollTop) {
- DOMTop.setAttribute(<span class="hljs-string">'class'</span>, <span class="hljs-string">'page-nav top'</span>);
- tru = <span class="hljs-literal">false</span>
- }
- <span class="hljs-keyword">if</span> (clientHeightScrollTop > clientHeight + scrollTop) {
- DOMTop.setAttribute(<span class="hljs-string">'class'</span>, <span class="hljs-string">'page-nav'</span>);
- tru = <span class="hljs-literal">true</span>
- }
- }, <span class="hljs-literal">false</span>);
- }
- </code></pre>
- <h4 id="锚链接跳转过渡">锚链接跳转过渡</h4>
- <pre><code class="lang-javascript"><span class="hljs-comment">/*
- # 锚链接跳转过度
- 条件:
- 1.目标位置 & 滚动条位置 距离过近
- 2.目标位置 > 滚动条位置
- 3.目标位置 < 滚动条位置
- 策略:
- 1.获取需要绑定事件的对象;
- 2.使用for循环语句,给获取到的对象集合绑定事件;
- 3.window.scrollTo(X,Y); 备注:X=window水平方向的滚动条移动位置;Y=window水平方向的滚动条移动位置;
- 4.根据条件,执行不同事件。
- 5.获取`目标位置 & 滚动条位置`的间距,除以25。然后用该数值与`滚动条位置`相加或相减。而累加或累减的过程通过setInterval()定时器方法来控制。
- 6.程序执行完毕之后,用clearInterval()方法清除定时器。
- */</span>
- anchorLinkJumpTransition();
- <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">anchorLinkJumpTransition</span>(<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">let</span> aTag = <span class="hljs-built_in">document</span>.querySelectorAll(<span class="hljs-string">'.animation-top a'</span>);
- <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i = <span class="hljs-number">0</span>; i < aTag.length; i++) {
- aTag[i].addEventListener(<span class="hljs-string">'click'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">var</span> $target = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-keyword">this</span>.hash.slice(<span class="hljs-number">1</span>));
- scrollToTop($target.offsetTop);
- <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">scrollToTop</span>(<span class="hljs-params">scrollDuration</span>) </span>{
- <span class="hljs-keyword">let</span> scrollTop = <span class="hljs-literal">null</span>, <span class="hljs-comment">// 滚动条当前位置</span>
- scrollStep = <span class="hljs-literal">null</span>, <span class="hljs-comment">// 滚动条累加前的位置</span>
- s = <span class="hljs-number">0</span>; <span class="hljs-comment">// 关闭计时器的条件 s = 25时</span>
- <span class="hljs-keyword">if</span> (<span class="hljs-built_in">document</span>.body.scrollTop !== <span class="hljs-number">0</span>) {
- scrollTop = <span class="hljs-built_in">document</span>.body.scrollTop
- } <span class="hljs-keyword">else</span> {
- scrollTop = <span class="hljs-built_in">document</span>.documentElement.scrollTop
- }
- scrollStep = scrollTop = <span class="hljs-built_in">Number</span>.parseInt(scrollTop);
- <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'滚动前,滚动条位置:'</span> + scrollTop);
- <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'目标位置:'</span> + scrollDuration);
- <span class="hljs-comment">// 目标位置 & 滚动条位置 距离过近</span>
- <span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">Math</span>.abs(scrollTop - scrollDuration))
- <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Math</span>.abs(scrollTop - scrollDuration) > <span class="hljs-number">21</span>) {
- <span class="hljs-keyword">let</span> scrollInterval = setInterval(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">if</span> (s < <span class="hljs-number">26</span>) {
- <span class="hljs-comment">// s 是累加的,所以用来跟`目标位置 & 滚动条位置`的间距,相乘,获得过渡效果。</span>
- <span class="hljs-built_in">window</span>.scrollTo(<span class="hljs-number">0</span>, scrollStep + (scrollDuration - scrollTop) / <span class="hljs-number">25</span> * s);
- s++;
- }
- <span class="hljs-keyword">else</span> {
- clearInterval(scrollInterval);
- scrollStep = <span class="hljs-literal">null</span>;
- }
- }, <span class="hljs-number">10</span>);
- }
- }
- }, <span class="hljs-literal">false</span>);
- }
- }
- </code></pre>
- <h4 id="文章标题的动画">文章标题的动画</h4>
- <pre><code class="lang-Javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">animateIn</span>(<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">let</span> animateIn = <span class="hljs-built_in">document</span>.querySelectorAll(<span class="hljs-string">'.container .title strong'</span>);
- <span class="hljs-comment">// console.log(animateIn.getAttribute('class'))</span>
- <span class="hljs-comment">// console.log(animateIn)</span>
- <span class="hljs-keyword">let</span> that = <span class="hljs-literal">null</span>;
- <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i = <span class="hljs-number">0</span>; i < animateIn.length; i++) {
- animateIn[i].addEventListener(<span class="hljs-string">'click'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
- <span class="hljs-keyword">if</span> (that !== <span class="hljs-literal">null</span>) {
- that.removeAttribute(<span class="hljs-string">'class'</span>);
- <span class="hljs-keyword">if</span> (that === <span class="hljs-keyword">this</span>) {
- <span class="hljs-keyword">this</span>.removeAttribute(<span class="hljs-string">'class'</span>);
- that = <span class="hljs-literal">null</span>;
- <span class="hljs-keyword">return</span>;
- }
- }
- <span class="hljs-keyword">this</span>.setAttribute(<span class="hljs-string">'class'</span>, <span class="hljs-string">'animate-in'</span>);
- that = <span class="hljs-keyword">this</span>;
- })
- }
- }
- </code></pre>
- </div>
-
- <hr>
- <div class="btn-group btn-group-justified">
-
- <a class="btn" href="04.html"><b>上一页:</b> 正则截取指定字符串</a>
-
-
- <a class="btn" href="../../angular/study_notes/"><b>下一页:</b> Study notes</a>
-
- </div>
-
- </div>
- <div class="search-results">
- <div class="has-results">
-
- <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
- <ul class="search-results-list"></ul>
-
- </div>
- <div class="no-results">
-
- <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <footer class="gb-page-footer">
- <div class="container">
- <ul class="menu">
- <li class="pull-right">
- <span class="service-info">Copyright GitBook 2018</span>
- </li>
- <li>
- <a href="#">Return to the top</a>
- </li>
- <li>
- <a href="#">Updated May 30th 18</a>
- </li>
- </ul>
- </div>
- </footer>
- </div>
- <script src="../../gitbook/gitbook.js"></script>
-
- <script src="../../gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
-
-
- <script src="../../gitbook/gitbook-plugin-search-pro/search.js"></script>
-
-
- <script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-
-
- <script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-
- <script>
- (function() {
- gitbook.page.hasChanged({"page":{"title":"常用功能收集","level":"2.2.6","depth":2,"next":{"title":"Study notes","level":"3.1","depth":1,"path":"angular/study_notes/README.md","ref":"angular/study_notes/README.md","articles":[{"title":"项目依赖","level":"3.1.1","depth":2,"path":"angular/study_notes/0_depend.md","ref":"angular/study_notes/0_depend.md","articles":[]},{"title":"内置指令","level":"3.1.2","depth":2,"path":"angular/study_notes/01_built-in_instructions.md","ref":"angular/study_notes/01_built-in_instructions.md","articles":[]},{"title":"表单","level":"3.1.3","depth":2,"path":"angular/study_notes/from/README.md","ref":"angular/study_notes/from/README.md","articles":[{"title":"模板案例","level":"3.1.3.1","depth":3,"path":"angular/study_notes/from/0_template_case.md","ref":"angular/study_notes/from/0_template_case.md","articles":[]},{"title":"formControl","level":"3.1.3.2","depth":3,"path":"angular/study_notes/from/01_formControl.md","ref":"angular/study_notes/from/01_formControl.md","articles":[]},{"title":"directives_源码解析","level":"3.1.3.3","depth":3,"path":"angular/study_notes/from/02_directives.md","ref":"angular/study_notes/from/02_directives.md","articles":[]},{"title":"ngModel","level":"3.1.3.4","depth":3,"path":"angular/study_notes/from/03_ng_model.md","ref":"angular/study_notes/from/03_ng_model.md","articles":[]},{"title":"表单验证&自定义验证器","level":"3.1.3.5","depth":3,"path":"angular/study_notes/from/04_Form-Validation_&_Custom-Validator.md","ref":"angular/study_notes/from/04_Form-Validation_&_Custom-Validator.md","articles":[]},{"title":"监听表单数据变化","level":"3.1.3.6","depth":3,"path":"angular/study_notes/from/05_Listen_to_form_data_changes.md","ref":"angular/study_notes/from/05_Listen_to_form_data_changes.md","articles":[]},{"title":"问题收集","level":"3.1.3.7","depth":3,"path":"angular/study_notes/from/06_Problem_collection.md","ref":"angular/study_notes/from/06_Problem_collection.md","articles":[]}]}]},"previous":{"title":"正则截取指定字符串","level":"2.2.5","depth":2,"path":"JavaScript/cases/04.md","ref":"JavaScript/cases/04.md","articles":[]},"dir":"ltr"},"config":{"plugins":["theme-official@2.1.1","-sharing","-fontsettings","sitemap","-search","search-pro"],"root":"./docs/","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"sitemap":{"hostname":"https://blog.honghaitao.net/"},"search-pro":{"cutWordLib":"nodejieba","defineWord":["小需求","基础建设"]},"highlight":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"theme-official":{},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"version":"0.0.1"},"title":"代码收集","gitbook":"3.1.1"},"file":{"path":"JavaScript/cases/05.md","mtime":"2018-05-30T08:23:34.364Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2018-05-31T06:23:00.958Z"},"basePath":"../..","book":{"language":""}});
- })();
- </script>
-
- </body>
- </html>
|