<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[湖南长沙前端开发与培训－通途工作室 - 我们的作品]]></title>
<link>http://blog.258754.cn/</link>
<description><![CDATA[前端开发,技术培训,动效研究,求职信息]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[dudu@258754.cn(嘟嘟)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>湖南长沙前端开发与培训－通途工作室</title>
	<url>http://blog.258754.cn/images/logos.gif</url>
	<link>http://blog.258754.cn/</link>
	<description>湖南长沙前端开发与培训－通途工作室</description>
</image>

			<item>
			<link>http://blog.258754.cn/article.asp?id=285</link>
			<title><![CDATA[一个swiper双向移动的例子]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Fri,25 Mar 2022 22:09:40 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=285</guid>
		<description><![CDATA[<p><span style="font-size: 26px;">&nbsp;</span><a href="http://258754.cn/2017/92005/" target="_blank"><span style="font-size: 26px;">点击查看DEMO</span></a></p>
<p><img src="http://blog.258754.cn/download.asp?id=153" alt="" /></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=284</link>
			<title><![CDATA[飞机探测地块的一个小演示动画]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Fri,25 Mar 2022 21:28:56 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=284</guid>
		<description><![CDATA[<p><span style="font-size: 26px;">&nbsp;</span><a href="http://258754.cn/2017/turang/" target="_blank"><span style="font-size: 26px;">点击查看DEMO</span></a></p>
<p>&nbsp;</p>
<p><img src="http://blog.258754.cn/download.asp?id=152" alt="" /></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=279</link>
			<title><![CDATA[用moment.js构造带操作区的VUE个性化日历]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Wed,01 Dec 2021 17:36:26 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=279</guid>
		<description><![CDATA[<p>&nbsp;<img src="http://blog.258754.cn/download.asp?id=147" alt="" /></p>
<p><span style="color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;">这次项目需要用到这样一个稍有点特别的日历，每一天有一个&ldquo;操作区&rdquo;（根据数据有不同的操作），因为这个形态有点特殊，所以无法直接使用vant的</span><span style="color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;"><a data-za-not-track-link="true" href="https://www.zhihu.com/search?q=%E6%97%A5%E5%8E%86&amp;search_source=Entity&amp;hybrid_search_source=Entity&amp;hybrid_search_extra=%7B%22sourceType%22%3A%22article%22%2C%22sourceId%22%3A377050305%7D" target="_blank" class="css-1occaib" style="color: rgb(0, 102, 255); text-decoration-line: none; cursor: pointer;">日历<svg width="8px" height="8px" viewbox="" class="css-ukqak1">
<path d="M10.89 9.477l3.06 3.059a1 1 0 0 1-1.414 1.414l-3.06-3.06a6 6 0 1 1 1.414-1.414zM6 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8z" fill="currentColor"></path>
</svg></a></span><span style="color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;">组件。之前这个日历列表是由后端同事提供的。后来我自己对</span><span style="color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;"><a data-za-not-track-link="true" href="https://www.zhihu.com/search?q=moment.js&amp;search_source=Entity&amp;hybrid_search_source=Entity&amp;hybrid_search_extra=%7B%22sourceType%22%3A%22article%22%2C%22sourceId%22%3A377050305%7D" target="_blank" class="css-1occaib" style="color: rgb(0, 102, 255); text-decoration-line: none; cursor: pointer;">moment.js<svg width="8px" height="8px" viewbox="" class="css-ukqak1">
<path d="M10.89 9.477l3.06 3.059a1 1 0 0 1-1.414 1.414l-3.06-3.06a6 6 0 1 1 1.414-1.414zM6 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8z" fill="currentColor"></path>
</svg></a></span><span style="color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;">的操作比较熟练了，自己构造了一个，主要代码如下。</span></p>
<div class="codeText">
<div class="codeHead">Javascri&#112;t代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>initCale(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">const</span><span>&nbsp;NOW&nbsp;=&nbsp;moment(</span><span class="string">'2021-05-16'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;_first&nbsp;=&nbsp;_.cloneDeep(NOW).startOf(<span class="string">'month'</span><span>)&nbsp;&nbsp;</span><span class="comment">//月头</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;_last&nbsp;=&nbsp;_.cloneDeep(NOW).endOf(<span class="string">'month'</span><span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//月尾</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;计算本月数据</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;days&nbsp;=&nbsp;NOW.daysInMonth()&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//本月天数</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;list&nbsp;=&nbsp;[]&nbsp;&nbsp;&nbsp;<span class="comment">//最终日期列表，存入这个数组</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(let&nbsp;ii&nbsp;=&nbsp;0;&nbsp;ii&nbsp;&lt;&nbsp;days;&nbsp;ii++)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;dd&nbsp;=&nbsp;_.cloneDeep(_first).add(ii,&nbsp;<span class="string">'days'</span><span>)&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//从月头开始往后推算整月</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.push(&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date:dd.format(<span class="string">'YYYY-MM-DD'</span><span>),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sd:dd.format(<span class="string">'DD'</span><span>),&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;day:dd.day(),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//星期几</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used:<span class="keyword">true</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;today:dd.format(<span class="string">'YYYY-MM-DD'</span><span>)==NOW.format(</span><span class="string">'YYYY-MM-DD'</span><span>)&nbsp;</span><span class="comment">//今天</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;补月头（上个月剩下的几天）</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;lenHead&nbsp;=&nbsp;_first.day()-1&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//本月第一天是星期几？从而推算月头天数</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(let&nbsp;ii&nbsp;=&nbsp;1;&nbsp;ii&nbsp;&lt;=&nbsp;lenHead;&nbsp;ii++)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;dddd&nbsp;=&nbsp;_.cloneDeep(_first).add(-ii,&nbsp;<span class="string">'days'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.unshift(&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date:dddd.format(<span class="string">'YYYY-MM-DD'</span><span>),&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sd:dddd.format(<span class="string">'DD'</span><span>),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;day:dddd.day(),&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used:<span class="keyword">false</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;补月尾</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;lenTail&nbsp;=&nbsp;7&nbsp;-&nbsp;_last.day()&nbsp;&nbsp;&nbsp;<span class="comment">//月尾天数</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(let&nbsp;ii&nbsp;=&nbsp;1;&nbsp;ii&nbsp;&lt;=&nbsp;lenTail;&nbsp;ii++)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;dddd&nbsp;=&nbsp;_.cloneDeep(_last).add(ii,&nbsp;<span class="string">'days'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.push(&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date:dddd.format(<span class="string">'YYYY-MM-DD'</span><span>),&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sd:dddd.format(<span class="string">'DD'</span><span>),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;day:dddd.day(),&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used:<span class="keyword">false</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.caleList&nbsp;=&nbsp;list&nbsp;&nbsp;</span><span class="comment">//caleList是VUE中用于渲染出日历的变量</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>},&nbsp;&nbsp;</span></li>
    <li class="alt"><span>主要HTML:&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;ul&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;caleList&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;一&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;二&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;三&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;四&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;五&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;六&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;top&quot;</span><span>&gt;日&lt;/li&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;v-<span class="keyword">for</span><span>=</span><span class="string">&quot;item&nbsp;in&nbsp;caleList&quot;</span><span>&nbsp;:key=</span><span class="string">&quot;item.date&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:<span class="keyword">class</span><span>=</span><span class="string">&quot;[{'used':item.used},{'today':item.today}]&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;date&quot;</span><span>&gt;{{item.sd}}&lt;/div&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;<span class="keyword">class</span><span>=</span><span class="string">&quot;opt&quot;</span><span>&nbsp;v-</span><span class="keyword">if</span><span>=</span><span class="string">&quot;item.used&quot;</span><span>&gt;操作&lt;/div&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;/ul&gt;&nbsp;&nbsp;</span></li>
    <li><span>主要CSS（LESS):&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>.caleList{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;display:&nbsp;flex;&nbsp;flex-wrap:&nbsp;wrap;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;li{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flex:1&nbsp;0&nbsp;100%/7;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:&nbsp;1px&nbsp;#fff&nbsp;solid;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;#aaa;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;#777;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;.top{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;#fff;&nbsp;color:&nbsp;#900;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:&nbsp;none;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:&nbsp;40px;&nbsp;display:&nbsp;flex;&nbsp;align-items:&nbsp;center;&nbsp;justify-content:&nbsp;center;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;.used{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;#eee;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;#333;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;.today{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;rgb(163,&nbsp;10,&nbsp;31);&nbsp;color:&nbsp;#fff;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.date{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size:&nbsp;24px;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display:&nbsp;flex;&nbsp;align-items:&nbsp;center;&nbsp;justify-content:&nbsp;center;height:&nbsp;35px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.opt{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size:&nbsp;12px;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding:&nbsp;0px&nbsp;15px&nbsp;10px;&nbsp;text-align:&nbsp;center;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;rgb(112,&nbsp;11,&nbsp;11);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line-height:&nbsp;120%;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p data-pid="kPPMrcTM" style="margin: 1.4em 0px; color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;">因为逻辑比较简单，此处并没有抽象成组件，有需要再说。</p>
<p data-pid="OMFEezGN" style="margin: 1.4em 0px; color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;">特别感谢知友的这篇文章：</p>
<p>&nbsp;</p>
<p data-pid="hfu-Y5uA" style="margin: 1.4em 0px 0px; color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, &quot;Source Han Sans SC&quot;, &quot;Noto Sans CJK SC&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: medium;"><a href="https://zhuanlan.zhihu.com/p/113350786" class="internal" data-za-detail-view-id="1043" style="text-decoration-line: none; cursor: pointer; border-bottom: 1px solid rgb(128, 128, 128);">Sail：moment的高频用法总结</a></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=272</link>
			<title><![CDATA[大屏展示典型案例，SVG+CANVAS动画效果,flexible响应式尺寸]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Wed,24 Mar 2021 00:39:48 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=272</guid>
		<description><![CDATA[<p>演示在此：<a href="http://258754.cn/2020/ehs/canvas_and_svg.html" target="_blank">&nbsp;http://258754.cn/2020/ehs/canvas_and_svg.html</a></p>
<p><img src="http://blog.258754.cn/download.asp?id=141" alt="" /></p>
<p>技术要点：</p>
<p>- 异形边框，自适应尺寸。已经做成了VUE标准组件。边框的宽、高可以使用px，也可以使用rem。</p>
<p>- 边框SVG+MASK+路径动画，底部CANVAS动画。</p>
<p>-&nbsp;flexible.js，每个块的宽、高，会根据整个页面的宽度自适应变化 。</p>
<p><img src="http://blog.258754.cn/download.asp?id=142" width="600" height="272" alt="" /></p>
<p>vue组件fra，宽、高、rem方式用props引入。框中内容用slot引入。</p>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=237</link>
			<title><![CDATA[网上沙盘(jquery)]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Thu,06 Apr 2017 20:42:55 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=237</guid>
		<description><![CDATA[<p>&nbsp;<a href="http://blog.258754.cn/2017/sp/demo2.html">http://blog.258754.cn/2017/sp/demo2.html</a></p>
<div>&nbsp;</div>
<div>适用场景：</div>
<div>一个全屏背景+自适应前景点的例子。窗口尺寸随便怎么变化都行。特别适合用于制作全屏沙盘类的案例。</div>
<div>&nbsp;</div>
<div>原理：</div>
<div>根据容器尺寸，计算背景图、前景点的位置，前景利用css的transform-scale/translate子属性进行自适应。实际使用中，是用了我熟悉的tweenMax实现了快速转换，否则要用css的Matrix矩阵滤镜，俺不熟。</div>
<div>&nbsp;</div>
<div>使用方法：</div>
<div>在设计稿中测量背景图尺寸，所有点的位置点。按我的例子放置，即可。</div>
<div>&nbsp;</div>
<div><img src="http://blog.258754.cn/download.asp?id=132" alt="" /></div>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=232</link>
			<title><![CDATA[年后实战了两个移动端(前端)项目，收获良多]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Mon,06 Mar 2017 09:04:21 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=232</guid>
		<description><![CDATA[<p>&nbsp;年后实战了两个移动端(前端)项目，都是使用的VUE2.0，做的是多页面类型（非SPA），地址：</p>
<div><a href="http://258754.cn/2017/baomu" target="_blank"><span style="font-size: 18px;">保姆厨房</span></a></div>
<div><a href="http://258754.cn/2017/read" target="_blank"><span style="font-size: 18px;">阅读护照</span></a></div>
<div>&nbsp;</div>
<div>收获：</div>
<div>1、让我可以熟练的运用FLEX布局。估计提升了50%的布局效率。原来的多层结构、乱七八糟的修补型代码都被淘汰了，结构、样式都更加简洁。</div>
<div>2、熟练使用scss。之前已经用了小半年。但是有时候没有形成自己的scss书写模式。这次两个项目，最大的收获就是，小项目，不再细致考虑重用，除了页头页尾、导航，其它的布局块，全都一个个写单独的结构。这样脑子里不用思考命名、重用这些问题，写起来极快。</div>
<div>3、VUE的mixins功能充分发挥。多页面模式下的&ldquo;共性功能&rdquo;，全部提出来放到common.js中的mixins代码中，不用再写到每个页面的vm结构中。</div>
<div>4、试验了多个第三方组件、库。对于vue2.0生态的众多第三方组件有了实战经验。真实使用了element-ui(饿了么开源)。</div>
<div>5、搞清了iscoll之类滚动插件的利弊。---这里被视频课程中的老师带着，绕了一个大圈。以后再专门说这个技术问题。</div>
<div>6、自己试着写了一个VUE的小组件，对于组件的template模板使用的几种形式，有了更多选择。在多页面开发模式下，一些共性功能块，还是值得提炼成组件的。我这次提炼的组件的，就实现了&ldquo;锁定长宽比的图片容器&rdquo;。这个功能在页面中大量存在，写个组件能大大的提升效率。</div>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=230</link>
			<title><![CDATA[2017年VUE2.0试手项目--奔奔算术]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Sun,05 Feb 2017 12:15:44 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=230</guid>
		<description><![CDATA[<p>利用春节假期，系统的学习了VUE2.0/组件/webpack/SPA技术。正好儿子每天要做口算题，就利用这些新学的知识，花2天时间，为他写了一个移动端的小型出题软件。</p>
<div>&nbsp;</div>
<div><a href="http://blog.258754.cn/2017/sxt.html" target="_blank"><span style="font-size: 20px;">点击这里试用</span></a></div>
<div>&nbsp;</div>
<div><img src="http://blog.258754.cn/download.asp?id=129" alt="" /></div>
<div>&nbsp;</div>
<div><img src="http://blog.258754.cn/download.asp?id=128" alt="" /></div>
<div>&nbsp;</div>
<div>功能点：</div>
<ul>
    <li>随机出题，加减均可；</li>
    <li>可进行一些基础模式的配置，</li>
    <li>对加减法做了一些优化，避免出现太简单的题目；</li>
    <li>练习模式下，可进行计时、自统计错题功能</li>
    <li>一些动画效果用GSAP实现</li>
</ul>
<div>&nbsp;</div>
<div>技术点：</div>
<ul>
    <li>vue2.0组件</li>
    <li>vue-cli2.0+webpack生成单页应用</li>
    <li>sass、flex布局</li>
    <li>localStorage读写</li>
</ul>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=227</link>
			<title><![CDATA[给朋友写的一个小展示动画--同心圆飞出]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Mon,14 Nov 2016 19:56:29 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=227</guid>
		<description><![CDATA[<p>&nbsp;演示：http://blog.258754.cn/2016/round/round.html</p>
<div>&nbsp;</div>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=218</link>
			<title><![CDATA[升级黄花机场触摸屏程序的一些技术概要]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Mon,05 Sep 2016 17:19:27 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=218</guid>
		<description><![CDATA[<p>&nbsp;此次我帮老朋友做个小项目，升级黄花机场触摸屏软件（长沙的兄弟以后有机会可以到机场大厅试用）。</p>
<p>&nbsp;应大家要求放个图：</p>
<p><img src="http://blog.258754.cn/download.asp?id=119" alt="" /></p>
<p>老程序的实现方式，是HTML+FLASH+一个exe应用程序调用IE浏览器。分工是，activeX生成EXE程序，调用IE浏览器实现全屏。所有HTML文件都部署在本机，由FLASH来实现一些复杂交互，比如&ldquo;大厅地图的放大缩小与拖动&rdquo;。这个方案的不便之处显而易见：</p>
<p>1、必须使用一个加壳的exe程序，依赖IE6浏览器。</p>
<p>2、FLASH没有源文件提供无法升级。</p>
<p>&nbsp;</p>
<p>因此，此次升级，准备采用以下方式：</p>
<p>1、在网上查到，<span style="color: rgb(255, 0, 0);"><span style="font-size: 20px;">chrome可以使用快捷方式直接全屏启动</span></span>，这样写：</p>
<div class="codeText">
<div class="codeHead">Javascri&#112;t代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="string">&quot;C:\Program&nbsp;Files&nbsp;(x86)\Google\Chrome\Application\chrome.exe&quot;</span><span>&nbsp;--kiosk&nbsp;‪</span></span> http://localhost:88/index.html</li>
</ol>
</div>
<p><strong><span style="color: rgb(255, 0, 0);"><span style="font-size: 20px;">此快捷方式要自动打开index.html，必须使用虚拟站点--kiosk这种方式简直就是为触摸屏量身定制的，已经屏蔽了右键！甚至光用鼠标都无法关闭，只能用键盘方式才能切出来。</span></span></strong></p>
<p>&nbsp;</p>
<p>2、用HTML5+CSS3+JS方式完全替代FLASH。采用强大的d3.js内核实现地图功能，具体方式我在<a href="http://blog.258754.cn/article.asp?id=217" target="_blank">另一篇文章中有演示</a>。</p>
<p>3、kiosk全屏方式只支持虚拟站点（比如localhost），我还必须在本机架设一个虚拟站点。我用node.js小程序实现了，不使用重量级的iis--当然，在这种单纯环境下，两者区别不大。</p>
<p>&nbsp;另外，强大的<span style="color: rgb(255, 0, 0);"><span style="font-size: 20px;">node.js可以提供直接调用chrome启动的功能</span></span>，写法如下：</p>
<div class="codeText">
<div class="codeHead">Javascri&#112;t代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="comment">//&nbsp;调用chrome全屏方式</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;childProcess&nbsp;=&nbsp;require(</span><span class="string">'child_process'</span><span>);&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>childProcess.exec(<span class="string">'start&nbsp;chrome&nbsp;--kiosk&nbsp;http://localhost:'</span><span>+PORT+</span><span class="string">'/index.html'</span><span>);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>原来实现全部功能，需要点击2次，一次打开node.js的虚拟站点支持，一次打开chrome全屏方式，有了上面这个调用方式，只需要一次点击，就能完成全过程。我把这一次点击做成了一个windows的bat文件，并且采用开机自启动。</p>
<p>这样，<span style="color: rgb(255, 0, 0);"><span style="font-size: 20px;">每次一开机，就自动进入到chrome全屏状态，并且切换到index.html页面！全自动化！</span></span></p>
<p>chrome全屏启动方式参考：http://www.cnblogs.com/abel/p/3235839.html</p>]]></description>
		</item>
		
			<item>
			<link>http://blog.258754.cn/article.asp?id=217</link>
			<title><![CDATA[用svg+d3.js制作位置示意图-鼠标滚轮放大缩小/拖动/弹窗/点标识/全屏切换]]></title>
			<author>dudu@258754.cn(admin)</author>
			<category><![CDATA[我们的作品]]></category>
			<pubDate>Wed,24 Aug 2016 12:48:28 +0800</pubDate>
			<guid>http://blog.258754.cn/default.asp?id=217</guid>
		<description><![CDATA[<p>&nbsp;按到朋友的一个项目，制作黄花机场的位置示意图，原来是几年前用Flash制作的。到现在就存在一些问题了，比如说代码不透明，不好进行编辑等。于是我直接用H5+Jquery+d3.js进行了一下重构。</p>
<div>&nbsp;</div>
<div><span style="font-size: 18px;">项目地址在：</span><a href="http://blog.258754.cn/2016/d3/demo5.html"><span style="font-size: 18px;">http://blog.258754.cn/2016/d3/demo5.html</span></a></div>
<div><img src="http://blog.258754.cn/download.asp?id=118" width="500" height="274" alt="" /></div>
<div>制作过程有点小曲折。问题的核心当然是这个放大缩小拖动的程序。我用百度在国内范围找了半天，都没有很合适的。找到的几个都功能点小缺陷。不得已动用翻墙工具，用google搜索了一下，找到了一个：<a href="https://bl.ocks.org/mbostock/6123708">https://bl.ocks.org/mbostock/6123708</a></div>
<div>此程序核心用的是svg模型，用的是著名的d3.js框架。本来我想用纯DOM结构解决问题，可是实在没找到更好的，加上之前对SVG又有点研究，于是决定使用这个。找这个东西就花了几小时。</div>
<div>&nbsp;</div>
<div>之后总体没碰到大的问题。对SVG的结构又有了更深的理解。</div>
<div>另外，对于d3 zoom的初始值的设定，默认情况老是从1开始，但是要求是从我设定的值开始。花了2小时用google查资料，最后发现了：</div>
<div class="codeText">
<div class="codeHead">Javascri&#112;t代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>zoom.scale(ratio_init);&nbsp;&nbsp;</span></span></li>
    <li><span>zoom.event(_svg.transition().duration(200));&nbsp;&nbsp;</span></li>
</ol>
</div>
<div>&nbsp;</div>
<div>搞定了这个问题。</div>
<div>&nbsp;</div>
<div>此次的最大收获就是:</div>
<div><span style="font-size: 20px;">国外好东西真多，google+英文关键词搜索才是王道。</span></div>]]></description>
		</item>
		
</channel>
</rss>
