HTML5实现换装,jQuery+HTML5实现手机摇一摇换衣特效

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

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

HTML

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

使劲晃动您的手机

z1.jpg

灰色

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

jQuery

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

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(''+json.pro.pic+'

'+json.pro.color+'

');

}else{

alert(json.msg);

}

});

}

};

PHP

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

//连接数据库

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数据表结构:

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');

以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值