模擬滑屏動畫
HTML內容:
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--引入jQuery檔案-->
<script src="js/jquery-3.3.1.js"></script>
<!--引入swipe檔案-->
<script src="js/jquery.touchSwipe.min.js" type="text/javascript" charset="utf-8"></script>
<!--引入js檔案-->
<script type="text/javascript" src="js/weixin3.js"></script>
<!--引入css檔案-->
<link type="text/css" href="css/weixin3.css" rel="stylesheet" />
</head>
<body>
<div id="container">
<!--第一頁-->
<div class="page page1">
<!--背景圖-->
<img src="img/indexBuilding.png" class="page1_building" />
<!--轉角遇到愛的文字-->
<img src="img/indexTxt.png" class="page1_title"/>
<!--設定雲-->
<img src="img/indexCloud.png" class="page1_cloud" />
<!--其他元素-->
<img src="img/indexElements.png" class="page1_elements" />
<!--兩朵太陽花-->
<img src="img/indexFlowers01.png" class="page1_leftflower" />
<img src="img/indexFlowers02.png" class="page1_rightflower" />
<!--人-->
<img src="img/indexFlight.png" class="page1_person"/>
</div>
<!--第二頁-->
<div class="page page2">
<img src="img/wasBg.jpg" class="page2_back"/>
<img src="img/wasFarm.png" class="page2_title1" />
<img src="img/wasIT.png" class="page2_title2"/>
</div>
<!--第三頁-->
<div class="page page3">
<img src="img/lastBusStation.png" class="page3_back"/>
<img src="img/earlyTitle.png" class="page3_early" />
<img src="img/lastBusTitle.png" class="page3_last" />
<img src="img/bus.png" class="page3_bus" />
<img src="img/lastBusAvatar.png" class="page3_person" />
</div>
<!--第四頁-->
<div class="page page4">
<!--場景1-->
<img src="img/lightOffBg.jpg" class="page4_back1" />
<img src="img/cornerTitle.png" class="page4_title1" />
<img src="img/clickGuide.png" class="page4_guide"/>
<!--場景2-->
<img src="img/lightOnBg.jpg" class="page4_back2" />
<img src="img/weKnowYou.png" class="page4_title2" />
<!--場景1 和 場景2 共同的燈 點選事件 切換圖片-->
<img src="img/lightOff.png" class="page4_light" onclick="onlight(this)"/>
</div>
</div>
</body>
</html>
css內容
//定義一個變數,記錄當前的頁碼
var currentPage = 0;
$(function(){
//1.獲取視窗的大小
var w_width = window.innerWidth;
var w_height = window.innerHeight;
//2.設定容器的大小
var container = $("#container");
container.width(w_width);
container.height(w_height * 4);
//3.設定每一頁的大小
var divPage = $(".page");
divPage.width(w_width);
divPage.height(w_height);
//4.第一頁
//背景有一個淡入的效果,人有一個飛入的效果
$(".page1_building").fadeIn(1000,function(){
$(".page1_person").animate({"left":"15%","width":"70%"},1500);
})
//5.向上滑動翻頁:Swape外掛的使用
container.swipe({
/*
* event:事件物件
* direction:滑動的方向
* distance:滑動的距離
* duration:持續的時間
* fingerCount:滑動需要的手指個數
*/
swipe:function(event,direction,distance,duration,fingerCount){
if(direction == "up"){ //向上滑動
currentPage++;
} else if(direction == "down"){ //向下滑動
currentPage--;
}
//臨界值
if(currentPage > 3){
currentPage = 3;
}
if(currentPage < 0){
currentPage = 0;
}
//給整體新增動畫
//注意:容器向上移動一個頁面,距離top的值為-(一個頁面的高度)
container.animate({"top":currentPage * (-w_height) + "px"},400,function(){
//第二頁
if(currentPage == 1){
//背景圖淡入
$(".page2_back").fadeIn(1000,function(){
//文字1動畫進入
$(".page2_title1").animate({"width":"70%","right":"0px"},1000,function(){
//文字2動畫進入
$(".page2_title2").animate({"width":"70%","right":"0px"},1000);
})
})
}
//第三頁
if(currentPage == 2){
$(".page3_bus").animate({"left":"-100%"},2000);
$(".page3_person").animate({"right":"50%"},2000);
}
})
}
})
})
function onlight(img){
//修改燈的圖片
img.src = "img/lightOn.png";
//場景1 淡出 淡出成功之後 場景2 淡入
$(".page4_back1").fadeOut("slow");
$(".page4_title1").fadeOut("slow");
$(".page4_guide").fadeOut("slow",function(){
//場景二淡入
$(".page4_back2").fadeIn(500,function(){
$(".page4_title2").fadeIn(500);
})
})
}
js:
*{
margin: 0;
padding: 0;
}
/*設定容器有效的定位屬性 --- 設定容器的移動*/
#container{
position: absolute;
}
/*設定第一頁*/
.page1{
background-color: red;
/*設定定位屬性當做參照物*/
position: relative;
}
/*設定背景圖*/
.page1_building{
position: absolute;
bottom: 0px;
width: 100%;
/*預設是隱藏的 -- 便於之後設計淡入的效果*/
display: none;
}
/*設定第一頁的標題*/
.page1_title{
position: absolute;
height: 60%;
top: 20%;
left: 20%;
}
/*設定雲和其他元素*/
.page1_cloud, .page1_elements{
position: absolute;
width: 70%;
height: 70%;
left: 15%;
top: 15%;
animation: zoomAnimate 2s infinite linear;
}
/*設定一個動畫: 雲和其他元素一直運動*/
@keyframes zoomAnimate{
0%{
transform: scale(1);
}
50%{
transform: scale(1.2);
}
100%{
transform: scale(1);
}
}
/* 設定小花*/
.page1_leftflower{
position: absolute;
left: 15%;
top: 10%;
animation: flowerAnimate 2s infinite linear;
}
.page1_rightflower{
position: absolute;
top: 10%;0%
right: 15%;
animation: flowerAnimate 2s infinite linear;
}
/*設定花的動畫*/
@keyframes flowerAnimate{
0%{transform: rotate(-20deg);}
25%{transform: rotate(0deg);}
50%{transform: rotate(20deg);}
75%{transform: rotate(0deg);}
100%{transform: rotate(-20deg);}
}
/* 設定人*/
.page1_person{
position: absolute;
bottom: 30%;
left: -100%;
/*人進來之後是慢慢變大的*/
width: 0;
animation: zoomAnimate 2s infinite linear;
}
/*第二頁*/
.page2{
background-color: blue;
/*將其設定為參照物*/
position: relative;
}
/*設定第二頁的背景圖*/
.page2_back{
width: 100%;
height: 100%;
/*為了設定淡入的效果*/
display: none;
}
.page2_title1, .page2_title2{
position: absolute;
right: -100%;
width: 0px;
}
.page2_title1{
top: 30%;
}
.page2_title2{
top: 60%;
}
/*第三頁*/
.page3{
background-color: orange;
/*設定為參照物*/
position: relative;
}
.page3_back{
width: 100%;
height: 100%;
}
/*凌晨 最後一班車*/
.page3_early, .page3_last{
position: absolute;
left: 0px;
height: 5%;
}
.page3_early{
top: 10%;
}
.page3_last{
top: 17%;
}
/*設定車*/
.page3_bus{
position: absolute;
left: 0px;
bottom: 10%;
width: 50%;
}
/*
* 設定人
*/
.page3_person{
position: absolute;
right: 0;
bottom: 10%;
}
/*第四頁*/
.page4{
background-color: yellow;
/*設定為參照物*/
position: relative;
}
/*場景1*/
.page4_back1{
width: 100%;
height: 100%;
}
/*標題*/
.page4_title1{
position: absolute;
right: 0px;
top: 15%;
width: 50%;
}
/*設定燈*/
.page4_light{
position: absolute;
bottom: 0px;
left: 6%;
height: 70%;
}
/*開燈引語*/
.page4_guide{
width: 50%;
position: absolute;
left: 18%;
top: 40%;
animation: zoomAnimate 2s infinite linear;
}
/*場景二的樣式*/
.page4_back2{
width: 100%;
height: 100%;
display: none;
}
.page4_title2{
position: absolute;
width: 50%;
left: 25%;
top: 40%;
display: none;
}
相關文章
- PC端瀏覽器手機模擬器滑屏dome瀏覽器
- 攜程前端模擬排序動畫前端排序動畫
- canvas模擬eharts首頁動畫效果Canvas動畫
- 爬蟲模擬登入破解無原圖滑動驗證碼爬蟲
- 強大的CSS:模擬下雪效果動畫製作教程CSS動畫
- 爬蟲界的福利--touchRobot,機器模擬觸碰滑動(已開源)爬蟲
- 榮耀Magic 2高畫質圖賞:滑屏+後置三攝,近100%屏佔比
- 互動滑軌屏的幾種實現形式
- 互動滑軌屏的特點及功能特性
- Flutter “孔雀開屏”的動畫效果Flutter動畫
- 虛擬模擬部署新方案-畫素流技術
- 移動端模擬滾動
- 互動滑軌屏在展廳應用的優勢
- Appium常用操作之「微信滑屏、觸屏操作」APP
- 網站模擬登陸的滑塊驗證碼識別網站
- 直播平臺軟體開發,Android程式碼模擬觸控、點選及滑動等事件Android事件
- 展廳中互動滑軌屏的幾大使用特質
- 什麼是電動滑軌屏?具備哪些功能特點?
- 展廳中移動滑軌屏製作的幾個步驟
- 為什麼數字化展廳都在使用互動滑軌屏?
- web前端入門到實戰:css3迴圈,模擬拼多多動畫效果Web前端CSSS3動畫
- 分享 1 個模擬各種複雜的滑動或手勢操作的方法,趕緊學起來~
- 小車側方位停車過程的動態模擬matlab模擬Matlab
- 放棄模擬器,安卓手機WiFi投屏到Ubuntu安卓WiFiUbuntu
- 短視訊商城系統,首屏載入loading動畫介面和路由跳轉動畫動畫路由
- 仿淘寶tabBar點選及滑動時logo和火箭?切換動畫tabBarGo動畫
- 模擬簡單的動態代理
- 命令啟動android studio 模擬器Android
- 互動滑軌屏是如何製作的?它的特點有哪些?
- 展廳互動滑軌屏為科普展廳帶來了什麼?
- 展廳設計中互動滑軌屏常見的應用形式
- WebAPIs-06:動畫函式封裝 + 觸屏事件WebAPI動畫函式封裝事件
- uniapp---app滑動翻頁(上滑、下滑、左滑、右滑)APP
- Arduino 驅動模擬溫度感測器模組UI
- backdrop-filter(純CSS實現絲滑邊框線條動畫)FilterCSS動畫
- 三種滑動方式的比較(scrollTo & view動畫 & 改變佈局引數)View動畫
- Android 設定TextView滑動滾動條和滑動效果AndroidTextView
- Python 精靈模組_幀動畫_純畫筆下雪效果.pyPython動畫