如何使用jQuery和HTML5实现手机摇一摇的换衣特效

ID:9020 / 打印

经常我们玩微信都会用到查到附近的人,都是在app上实现手机摇一摇的功能。现在,我们将此技术搬移到手机web上,供大家学习,有需要的小伙伴可以参考下。

手机摇一摇可以应用到很多场景中,如摇一摇换抽奖,摇一摇搜歌等。本文我将给大家介绍如何使用HTML5+PHP+jQuery实现手机摇一摇换衣效果。

注意,这是一篇WEB知识综合应用的文章,阅读本文前提是,您需要有HTML5,jQuery,PHP,MySQL等相关方面的基础知识。

HTML

我页面中默认展示产品信息(某品牌连衣裙产品图片和文字说明),当然实际应用中可以从数据库中获取产品信息。

立即学习“前端免费学习笔记(深入)”;

  <p id="pro" rel="1">   <p>使劲晃动您的手机</p>   <img  src="images/z1.jpg"    style="max-width:90%"  style="max-width:90%" alt="如何使用jQuery和HTML5实现手机摇一摇的换衣特效" >   <p>灰色</p>  </p>

然后在页面中加载jQuery库文件,同时我们继续沿用上一篇文:《用HTML5实现手机摇一摇的功能的教程》中用到的侦听手机摇晃的代码:shake.js。

  <script src="jquery.js"></script>  <script src="shake.js"></script>

jQuery

我们使用shake.js检测到用户手机摇晃,当摇晃发生时调用函数shakeEventDidOccur(),向后台product.php发送Ajax请求,后台程序会根据提交的请求参数返回相应的JSON数据。我们根据返回的数据显示对应的产品图片和文字信息,实现了换衣的效果。

  window.onload = function() {   var myShakeEvent = new Shake({    threshold: 15   });     myShakeEvent.start();     window.addEventListener(&#39;shake&#39;, shakeEventDidOccur, false);     function shakeEventDidOccur () {    var pro_id = $("#pro").attr("rel");    $.getJSON("product.php?id="+pro_id,function(json){     if(json.msg==1){      $("#pro").attr("rel",json.pro.id)      .html(&#39;<img  src="images/&#39;+json.pro.pic+&#39;"    style="max-width:90%"  style="max-width:90%" alt="如何使用jQuery和HTML5实现手机摇一摇的换衣特效" ><p>&#39;+json.pro.color+&#39;</p>&#39;);     }else{      alert(json.msg);     }    });   }  };

PHP

后台product.php根据接收ajax提交过来的参数id,查询数据库中除当前id以外的数据信息,获取到相应的数据集结果,然后随机从数据集中取出一组数据(因为每次只展示一条数据信息),以JSON格式返回给前端调用,请看代码:

  <?php  //连接数据库  include_once("connect.php");    $id = intval($_GET[&#39;id&#39;]);  if($id==0) exit;  //查询数据  $query = mysql_query("select * from dress where id!=&#39;$id&#39;");  $total = mysql_num_rows($query);  $arr = array();  if($total==0){   $arr[&#39;msg&#39;] = &#39;没有足够的衣服!&#39;;  }else{   $arr[&#39;msg&#39;] = 1;   while($row=mysql_fetch_array($query)){    $pros[] = array(     &#39;id&#39; => $row[&#39;id&#39;],     &#39;color&#39; => $row[&#39;color&#39;],     &#39;pic&#39; => $row[&#39;pic&#39;]    );   }   //随机取一组数据   $arr[&#39;pro&#39;] = $pros[array_rand($pros)];  }  //输出JSON格式数据  echo json_encode($arr);  ?>

当然本文只是一个实例应用,开发中你可以根据实际应用优化PHP程序代码,打造符合你项目的优质PHP代码,最后奉上mysql数据表结构:

  CREATE TABLE IF NOT EXISTS `dress` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `color` varchar(30) NOT NULL,   `pic` varchar(30) NOT NULL,   PRIMARY KEY (`id`)  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;    INSERT INTO `dress` (`id`, `color`, `pic`) VALUES  (1, &#39;灰色&#39;, &#39;z1.jpg&#39;),  (2, &#39;紫色&#39;, &#39;z2.jpg&#39;),  (3, &#39;红色&#39;, &#39;z3.jpg&#39;),  (4, &#39;蓝色&#39;, &#39;z4.jpg&#39;);

上一篇: HTML5的本地存储IndexedDB
下一篇: html5实现兼容各大浏览器的播放器的解析

作者:admin @ 24资源网   2024-09-18

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。