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

手机摇一摇可以应用到很多场景中,如摇一摇换抽奖,摇一摇搜歌等。本文我将给大家介绍如何使用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'); 

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, html5
手机摇一摇
jquery实现文字特效、摇一摇特效、jquery 摇一摇、jquery 手机摇一摇、jquery微信摇一摇效果,以便于您获取更多的相关知识。

时间: 2025-01-27 02:48:08

jQuery+HTML5实现手机摇一摇换衣特效_jquery的相关文章

jQuery实现的手机发送验证码倒计时效果代码分享_jquery

这是一款基于jquery实现的手机发送验证码倒计时效果代码,可实现实时显示秒数倒计时的功能,还可实现对手机号码格式验证的功能,是一款常用的网站注册发送手机验证码特效代码. 效果描述:注册一个网站,当需要发送验证码到手机上的时候,我们经常碰到这样的效果: 首先检测手机是否符合1开头,11位数字的格式: 若不符合,则提示错误信息并返回false: 否则提交给后台,后台确定接收后返回一个值,发送按钮变为灰色并倒计时. 运行效果: --------------------------------效果演示

jQuery+HTML5实现图片上传前预览效果_jquery

本文实例讲述了jQuery+HTML5实现图片上传前预览效果.分享给大家供大家参考.具体如下: 这里主要是使用HTML5 的File API,建立一個可存取到该file的url,一个空的img标签,ID为img0,把选择的文件显示在img标签中,实现图片预览功能.请选择支持HTML API的浏览器,比如谷歌Chrome和火狐等. 运行效果如下图所示: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-html5-pic-upload-pre-view-c

jquery制作漂亮的弹出层提示消息特效_jquery

今天给大家带来一款基于jquery超炫的弹出层提示消息.这款实例页面初始时,一个go按钮.当单击go按钮时,提示强出层以动画形式出现.效果图如下: 实现的代码. html代码: 复制代码 代码如下:   <div class='b'>     </div>     <div class='bb'>     </div>     <button id='go'>         GO     </button>     <div

基于jQuery.Hz2Py.js插件实现的汉字转拼音特效_jquery

可以实现基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.插件自行下载.使用方法如下(注意修改jq的引入路径). <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>基于jQuery实现汉字转换成拼音代码</title> <

使用JQuery在线制作ppt并在线演示源码特效_jquery

不多说,先给大家上效果图: 在线预览 源码下载 下面是jq在线制作ppt的html代码: <div id="topbar" class="navbar navbar-fixed-top"> <div class="navbar-inner"> <a class="brand" href="#">H5Slides</a> <ul class="n

解决jQuery动态获取手机屏幕高和宽的问题_jquery

今天帮同事解决了用jQuery获得动态的手机屏幕宽高的问题. 问题的起因是,当同事用了一个需要全屏滚动的图片控件时,需要获得屏幕的高度来设置图片为全屏.但是他用$(window).height()始终无法第一次拿到高,刷新一下后就可以,我尝试了使用window.onload=function(){}来解决,发现依然无法成功. 最后,我认为一定是因为第二次刷新时,浏览器有了缓存,所以就可以拿到了高,那么肯定是页面加载DOM的时间差,导致了这个问题,于是就使用了setTimeout(方法名,500)

jQuery+html5实现div弹出层并遮罩背景_jquery

渐入弹窗,背景变色不可点击.查看效果:http://runjs.cn/detail/t08gmoij <!doctype html> <html> <head> <meta charset="utf-8"> <title>popup</title> <script type="text/javascript" src="jquery-2.1.3.min.js">&

完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效_jquery

1.效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2.实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行. 3.运行环境 IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现 4.所有图片

基于jquery和svg实现超炫酷的动画特效_jquery

今天给大家分享一款基于jquery和svg超炫的网页动画.这款动画效果非常炫.下面还有重播.慢速.和反向动画按钮.效果非常漂亮.一起看下效果图: 实现的代码. html代码: 复制代码 代码如下:  <div id="intro">         <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"