首页
Portal
业界资讯
社区
BBS
我的家园
Space
个人空间
导读
Guide
登录
/
注册
用户名
Email
自动登录
找回密码
密码
登录
注册
搜索
搜索
本版
帖子
用户
本版
帖子
用户
帖子
好友
道具
勋章
收藏
任务
淘帖
门户
导读
设置
我的收藏
退出
腾讯QQ
微信登录
首页
›
≡≡网络技术≡≡
›
WEB前端
›
jQuery+HTML5实现手机摇一摇换衣特效
返回列表
js
jQuery+HTML5实现手机摇一摇换衣特效
[ 复制链接 ]
灰儿
2020-5-7 14:49:45
经常我们玩微信都会用到查到附近的人,都是在app上实现手机摇一摇的功能。现在,我们将此技术搬移到手机web上,供大家学习,有需要的小伙伴可以参考下。
手机摇一摇可以应用到很多场景中,如摇一摇换抽奖,摇一摇搜歌等。本文我将给大家介绍如何使用HTML5+PHP+jQuery实现手机摇一摇换衣效果。
注意,这是一篇WEB知识综合应用的文章,阅读本文前提是,您需要有HTML5,jQuery,PHP,MySQL等相关方面的基础知识。
HTML
我页面中默认展示产品信息(某品牌连衣裙产品图片和文字说明),当然实际应用中可以从数据库中获取产品信息。
<div id="pro" rel="1">
<p>使劲晃动您的手机</p>
<img src="images/z1.jpg" width="300" height="300">
<p>灰色</p>
</div>
然后在页面中加载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('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格式返回给前端调用,请看代码:
<?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数据表结构:
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');
以上所述就是本文的全部内容了,希望大家能够喜欢。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
回复
本版积分规则
回帖后跳转到最后一页
浏览过的版块
销售与营销
CMS系统
多媒体技术
灰儿
管理员
9843篇
主题总数
7
总热度
提问
+关注
产品动态
2024-05-18
泛微E10(e-cology)文件存储服务器每日新增大量重复文件的原因
2024-05-16
泛微E10(e-cology)配置文件详解
2024-05-15
泛微(weaver)e-cology_V10公文管理,启用预览正文和套红预览功能
2024-05-14
泛微E10(e-cology)文件存储位置与打开方式
2024-05-14
神州数码云科(DCN) DCME-320路由器关闭互联网22、23、53端口方法
2024-05-13
关于webapp与WEB-INF的记录
2024-05-13
泛微(weaver)e-cology_V10公文管理,上传套红模板教程
2024-05-13
防火墙指标:吞吐量、时延、新建连接速率、并发连接数
热点推荐
1
泛微E10(e-cology)文件存储服务器每日新增大量重复文件的原因
2
泛微E10(e-cology)配置文件详解
3
泛微(weaver)e-cology_V10公文管理,启用预览正文和套红预览功能
4
泛微E10(e-cology)文件存储位置与打开方式
5
神州数码云科(DCN) DCME-320路由器关闭互联网22、23、53端口方法
6
关于webapp与WEB-INF的记录
7
泛微(weaver)e-cology_V10公文管理,上传套红模板教程
8
防火墙指标:吞吐量、时延、新建连接速率、并发连接数
热门板块
PC操作系统
启动和引导
手机操作系统
硬件相关
办公软件
多媒体技术
产品动态
2024-05-18
泛微E10(e-cology)文件存储服务器每日新增大量重复文件的原因
2024-05-16
泛微E10(e-cology)配置文件详解
2024-05-15
泛微(weaver)e-cology_V10公文管理,启用预览正文和套红预览功能
2024-05-14
泛微E10(e-cology)文件存储位置与打开方式
2024-05-14
神州数码云科(DCN) DCME-320路由器关闭互联网22、23、53端口方法
2024-05-13
关于webapp与WEB-INF的记录
2024-05-13
泛微(weaver)e-cology_V10公文管理,上传套红模板教程
2024-05-13
防火墙指标:吞吐量、时延、新建连接速率、并发连接数
热点推荐
1
泛微E10(e-cology)文件存储服务器每日新增大量重复文件的原因
2
泛微E10(e-cology)配置文件详解
3
泛微(weaver)e-cology_V10公文管理,启用预览正文和套红预览功能
4
泛微E10(e-cology)文件存储位置与打开方式
5
神州数码云科(DCN) DCME-320路由器关闭互联网22、23、53端口方法
6
关于webapp与WEB-INF的记录
7
泛微(weaver)e-cology_V10公文管理,上传套红模板教程
8
防火墙指标:吞吐量、时延、新建连接速率、并发连接数
热门板块
PC操作系统
启动和引导
手机操作系统
硬件相关
办公软件
多媒体技术
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言
了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言
了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。