本文摘自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 )];
}
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》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 如何使用jQuery和HTML5实现手机摇一摇的换衣特效