手機搖一搖可以應用在很多場景中,如搖一搖換抽獎,搖一搖搜歌等。本文我將為大家介紹如何使用HTML5 PHP jQuery實現手機搖一搖換衣效果。
注意,這是一篇WEB知識綜合應用的文章,閱讀本文前提是,您需要有HTML5,jQuery,PHP,MySQL等相關方面的基礎知識。
HTML
我頁面中預設展示產品資訊(某品牌連身裙產品圖片和文字說明),當然實際應用中可以從資料庫中取得產品資訊。
<div id="pro" rel="1"> <p>使劲晃动您的手机</p> <img src="/static/imghwm/default1.png" data-src="images/z1.jpg" class="lazy" style="max-width:90%" style="max-width:90%" alt="jQuery HTML5實現手機搖一搖換衣特效_jquery" > <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="/static/imghwm/default1.png" data-src="images/'+json.pro.pic+'" class="lazy"+json.pro.pic+'" style="max-width:90%" style="max-width:90%" alt="jQuery HTML5實現手機搖一搖換衣特效_jquery" ><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');
以上所述就是本文的全部內容了,希望大家能夠喜歡。

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

WebStorm Mac版
好用的JavaScript開發工具