<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iScroll &#8211; 萧邦的博客</title>
	<atom:link href="https://www.zlhlab.top/tag/iscroll/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.zlhlab.top</link>
	<description>If not me who, If not now when</description>
	<lastBuildDate>Thu, 22 Feb 2018 13:10:18 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.6</generator>
	<item>
		<title>驭胜S330新车上市H5</title>
		<link>https://www.zlhlab.top/%e9%a9%ad%e8%83%9cs330%e6%96%b0%e8%bd%a6%e4%b8%8a%e5%b8%82h5/</link>
		
		<dc:creator><![CDATA[萧邦]]></dc:creator>
		<pubDate>Wed, 11 Oct 2017 14:42:32 +0000</pubDate>
				<category><![CDATA[H5]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[iScroll]]></category>
		<category><![CDATA[swiper]]></category>
		<guid isPermaLink="false">https://www.zlhlab.top/?p=349</guid>

					<description><![CDATA[这个H5项目是给驭胜S330新车上市做的。项目开屏信封进入，点击进入，随手指滚动进行场景和内容展现。场景采用手绘动效的。还包含展示车型详情、活动规则、预约试驾以及中奖结果页面。]]></description>
										<content:encoded><![CDATA[<h4><strong>项目描述</strong></h4>
<hr>
<p>这个H5项目是给驭胜S330新车上市做的。项目开屏信封进入，点击进入，随手指滚动进行场景和内容展现。场景采用手绘动效的。还包含展示车型详情、活动规则、预约试驾以及中奖结果页面。</p>
<h4><strong>技术选型和方案</strong></h4>
<hr>
<p>项目有4处采用了flash动画（开屏页、滚动页3处）。由于IOS和安卓的特性，手机对flash的支持各异。初步进行flv-&gt;MP4视频，然后使用PS将视频转成单张图片（使用gif或者制作精灵图，机型不同手机内存和性能展现结果不一）。</p>
<p>技术方案和问题解决如下：</p>
<p>1、加载和缓存动画图片；<br />
2、采用canvas播放，播放缓存图片（750&#215;1206），实现帧动画；<br />
3、解决canvas播放动画手机端模糊问题，使用下面的解决方案：</p>
<pre class="line-numbers prism-highlight" data-start="1"><code class="language-javascript">var getPixelRatio = function(context) {
  var backingStore = context.backingStorePixelRatio ||
    context.webkitBackingStorePixelRatio ||
    context.mozBackingStorePixelRatio ||
    context.msBackingStorePixelRatio ||
    context.oBackingStorePixelRatio ||
    context.backingStorePixelRatio || 1;
   return (window.devicePixelRatio || 1) / backingStore;
};

//调用
var ratio = getPixelRatio(ctx);
</code></pre>
<p>4、使用iscroll-prob.js实现基于位置滚动加载；<br />
5、使用swiper实现详情页的动态展示。解决swiper安卓机型滑动问题，修改参数如下：</p>
<pre class="line-numbers prism-highlight" data-start="1"><code class="language-javascript">observer: true,//修改swiper自己或子元素时，自动初始化swiper  
observeParents: true,//修改swiper的父元素时，自动初始化swiper  
</code></pre>
<h4><strong>待优化</strong></h4>
<hr>
<p>项目已进行了优化，基本满足客户上线需求。</p>
<p>1.由于存在大量图片加载，会出现页面99%的时间较长。如果加载更平滑一些，loading页面看起来会自然一些。<br />
2.后续建议：针对简单的帧动画能用代码实现，尽量用代码实现，减少使用图片。</p>
<h4><strong>设计与发布地址</strong></h4>
<hr>
<p><img decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/10/%E6%A1%88%E4%BE%8B%E5%9B%BE-%E9%A9%AD%E8%83%9C-1.jpg" alt=""></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
