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


本文摘自PHP中文网,作者不言,侵删。

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

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

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

HTML

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

1

2

3

4

5

<p id="pro" rel="1">

 <p>使劲晃动您的手机</p>

 <img src="images/z1.jpg" width="300" height="300">

 <p>灰色</p>

</p>

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

1

2

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

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

jQuery

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

window.onload = function() {

 var myShakeEvent = new Shake({

  threshold: 15

 });

  

 myShakeEvent.start();

  

 window.addEventListener('shake', 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('<img src="images/'+json.pro.pic+'" width="300" height="300"><p>'+json.pro.color+'</p>');

   }else{

    alert(json.msg);

   }

  });

 }

};

PHP

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<?php

//连接数据库

include_once("connect.php");

  

$id = intval($_GET['id']);

if($id==0) exit;

//查询数据

$query = mysql_query("select * from dress where id!='$id'");

$total = mysql_num_rows($query);

$arr = array();

if($total==0){

 $arr['msg'] = '没有足够的衣服!';

}else{

 $arr['msg'] = 1;

 while($row=mysql_fetch_array($query)){

  $pros[] = array(

   'id' => $row['id'],

   'color' => $row['color'],

   'pic' => $row['pic']

  );

 }

 //随机取一组数据

 $arr['pro'] = $pros[array_rand($pros)];

}

//输出JSON格式数据

echo json_encode($arr);

?>

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

1

2

3

4

5

6

7

8

9

10

11

12

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, '灰色', 'z1.jpg'),

(2, '紫色', 'z2.jpg'),

(3, '红色', 'z3.jpg'),

(4, '蓝色', 'z4.jpg');

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

html5实现兼容各大浏览器的播放器的解析

HTML打折计算价格的实现原理与脚本代码

以上就是如何使用jQuery和HTML5实现手机摇一摇的换衣特效的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

html5中<template>标签的详细介绍(图文)

jQuery符号===和==区别是什么

h5中header标签应该如何使用

html5怎么去除超链接的下划线

html代码什么意思?

html5新增加的标签总结

html5如何插入可自动播放的音频(图文)

jQuery中cdn有什么用

html5实现背景音乐的自动播放

h5和css3制作一个相册的代码实例

更多相关阅读请进入《jQuery》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...