123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470 |
- /**
- * Created by fierayan on 2014/11/13.
- */
- // 渐显元素
- function showElement(){
- switch (pageNumber){
- case 1:
- case 2:
- var currentPage=pageNumber;
- if(isFlip[currentPage]===2){
- setTimeout(function(){
- $(".p"+currentPage+"__f_des").addClass("fadeIn");
- },1000);
- setTimeout(function(){
- $(".p"+currentPage+"__main").addClass("fadeIn");
- },1500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_band").addClass("fadeIn");
- $(".p"+currentPage+"__f_1").addClass("fadeIn");
- $(".p"+currentPage+"__f_2").addClass("fadeIn");
- },2000);
- setTimeout(function(){
- $(".p"+currentPage+"__f_avatar_1").addClass("fadeIn");
- },2500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_bubble_1").addClass("bubble_show");
- },3000);
- }else{
- setTimeout(function(){
- $(".p"+currentPage+"__b_des").addClass("fadeIn");
- },1000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_band").addClass("fadeIn");
- $(".p"+currentPage+"__b_1").addClass("fadeIn");
- $(".p"+currentPage+"__b_2").addClass("fadeIn");
- },1500);
- setTimeout(function(){
- $(".p"+currentPage+"__b_avatar_1").addClass("fadeIn");
- },2000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_bubble_1").addClass("bubble_show");
- },2500);
- setTimeout(function(){
- $(".p"+currentPage+"__b_avatar_2").addClass("fadeIn");
- },3000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_bubble_2").addClass("bubble_show");
- },3500);
- }
- break;
- case 3:
- var currentPage=pageNumber;
- if(isFlip[currentPage]===2){
- setTimeout(function(){
- $(".p"+currentPage+"__f_des").addClass("fadeIn");
- },1000);
- setTimeout(function(){
- $(".p"+currentPage+"__main").addClass("fadeIn");
- },1500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_band").addClass("fadeIn");
- $(".p"+currentPage+"__f_1").addClass("fadeIn");
- $(".p"+currentPage+"__f_2").addClass("fadeIn");
- },2000);
- setTimeout(function(){
- $(".p"+currentPage+"__f_avatar_1").addClass("fadeIn");
- },2500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_bubble_1").addClass("bubble_show");
- },3000);
- setTimeout(function(){
- $(".p"+currentPage+"__f_avatar_2").addClass("fadeIn");
- },3500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_bubble_2").addClass("bubble_show");
- },4000);
- setTimeout(function(){
- $(".p"+currentPage+"__f_avatar_3").addClass("fadeIn");
- },4500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_bubble_3").addClass("bubble_show");
- },5000);
- setTimeout(function(){
- $(".p"+currentPage+"__f_avatar_4").addClass("fadeIn");
- },5500);
- setTimeout(function(){
- $(".p"+currentPage+"__f_bubble_4").addClass("bubble_show");
- },6000);
- }else{
- setTimeout(function(){
- $(".p"+currentPage+"__b_des").addClass("fadeIn");
- },1000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_band").addClass("fadeIn");
- $(".p"+currentPage+"__b_1").addClass("fadeIn");
- $(".p"+currentPage+"__b_2").addClass("fadeIn");
- },1500);
- setTimeout(function(){
- $(".p"+currentPage+"__b_avatar_1").addClass("fadeIn");
- },2000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_bubble_1").addClass("bubble_show");
- },2500);
- setTimeout(function(){
- $(".p"+currentPage+"__b_avatar_2").addClass("fadeIn");
- },3000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_bubble_2").addClass("bubble_show");
- },3500);
- setTimeout(function(){
- $(".p"+currentPage+"__b_avatar_3").addClass("fadeIn");
- },4000);
- setTimeout(function(){
- $(".p"+currentPage+"__b_bubble_3").addClass("bubble_show");
- },4500);
- }
- break;
- case 4:
- setTimeout(function(){
- $(".p4__t_1").addClass("riseUp");
- },500);
- setTimeout(function(){
- $(".p4__t_2").addClass("riseUp");
- },700);
- setTimeout(function(){
- $(".p4__t_3").addClass("riseUp");
- },900);
- setTimeout(function(){
- $(".p4__hourglass").addClass("fadeIn");
- },2500);
- setTimeout(function(){
- $(".p4__t_4").addClass("fadeIn");
- },3500);
- break;
- case 5:
- setTimeout(function(){
- $(".p5__t_1").addClass("riseUp");
- },500);
- setTimeout(function(){
- $(".p5__t_2").addClass("riseUp");
- },700);
- setTimeout(function(){
- $(".p5__t_3").addClass("riseUp");
- },900);
- setTimeout(function(){
- $(".p5__lantern").addClass("fadeIn swing");
- },1600);
- setTimeout(function(){
- $(".p5__t_4").addClass("riseUp");
- //$(".p5__lantern").addClass("swing");
- },2500);
- setTimeout(function(){
- $(".p5__act-wrap").addClass("fadeIn");
- $(".p5__print-wrap").on("touchstart",function(){
- $(".p5__scanner").css("display","none");
- $(".p5__scanner").removeClass("scanner");
- $(".p5__print").css("opacity","1");
- setTimeout(function(){
- showTheLast=1;
- screenForward();
- },500);
- });
- },3500);
- break;
- default :
- break;
- }
- }
- // 隐藏内容
- function hideContent(){
- var currentPage=pageNumber;
- if(isFlip[currentPage]===2){
- $(".p"+currentPage+"__of").css("opacity","0");
- }else{
- $(".p"+currentPage+"__ob").css("opacity","0");
- }
- }
- // 显示内容
- function showContent(){
- var currentPage=pageNumber;
- if(isFlip[currentPage]==1){
- setTimeout(function(){
- $(".p"+currentPage+"__of").css("opacity","1");
- },1000);
- }else{
- setTimeout(function(){
- $(".p"+currentPage+"__ob").css("opacity","1");
- },1000);
- }
- }
- // 翻转图片
- function flipCard(){
- var selectorMain=".p"+pageNumber+"__main";
- var selectorFI=".p"+pageNumber+"__f_img";
- var selectorBI=".p"+pageNumber+"__b_img";
- if(isFlip[pageNumber]===2){
- // 转到反面
- // 正面元素消失
- hideContent();
- // 背面元素显示
- showContent();
- // 照片翻转
- $(selectorMain).addClass("flip");
- if(bIsAndroid){
- $(selectorFI).addClass("fadeOut");
- $(selectorBI).addClass("fadeIn");
- }else{
- $(selectorBI).css("z-index","3");
- setTimeout(function(){
- $(selectorFI).css("display","none");
- },500);
- }
- // 背景变色
- $(".content-li").eq(pageNumber).addClass("fliped");
- // 显示指引
- setTimeout(function(){
- $(".notice-swipe-up").addClass("swipeMove");
- },1200);
- // 修改参数
- isFlip[pageNumber]=1;
- // 后面元素显示
- showElement();
- }else{
- // 转回正面
- // 背面元素消失
- hideContent();
- // 正面元素显示
- showContent();
- $(selectorMain).removeClass("flip");
- if(bIsAndroid){
- $(selectorFI).removeClass("fadeOut");
- $(selectorBI).removeClass("fadeIn");
- }else{
- $(selectorBI).css("z-index","1");
- setTimeout(function(){
- $(selectorFI).css("display","block");
- },500);
- }
- $(".content-li").eq(pageNumber).removeClass("fliped");
- isFlip[pageNumber]=2;
- }
- }
- // 滑动屏幕操作相关
- // 上一屏
- function screenBack(){
- var translateString,transitionString;
- pageNumber--;
- if(pageNumber<0){
- pageNumber=0;
- }
- currentDistance=screenHeight*pageNumber;
- translateString="translate3d(0, -"+currentDistance+"px, 0)";
- transitionString="all 0.5s ease-in";
- contentList.css({"-webkit-transform":translateString,"transform":translateString,"-webkit-transition":transitionString,"transition":transitionString});
- }
- // 下一屏
- function screenForward(){
- var translateString,transitionString;
- pageNumber++;
- if(!showTheLast && pageNumber===6){
- pageNumber=5;
- }
- if(pageNumber>6){
- pageNumber=6;
- }
- currentDistance=screenHeight*pageNumber;
- translateString="translate3d(0, -"+currentDistance+"px, 0)";
- transitionString="all 0.5s ease-in";
- contentList.css({"-webkit-transform":translateString,"transform":translateString,"-webkit-transition":transitionString,"transition":transitionString});
- // 显示元素
- showElement();
- // 显示引导
- if(pageNumber!==6 ){
- if(pageNumber===5){
- if(showTheLast){
- setTimeout(function(){
- $(".notice-swipe-up").addClass("swipeMove");
- },800);
- }
- }else{
- setTimeout(function(){
- $(".notice-swipe-up").addClass("swipeMove");
- },800);
- }
- }else{
- $(".notice-swipe-up").css("display","none");
- }
- }
- function startTouch(event) {
- if (!event.touches.length) {
- return;
- }
- tmpEndY = 0;
- var touch = event.touches[0];
- tmpStartY = touch.pageY;
- }
- function moveTouch(event) {
- event.preventDefault();
- if (!event.touches.length) {
- return;
- }
- var touch = event.touches[0];
- tmpEndY = touch.pageY;
- }
- // 触摸结束时判断执行上翻或者下翻
- function endTouch() {
- var endY = tmpEndY;
- var startY = tmpStartY;
- if (endY && endY !== startY && endY-startY<=-25) {
- console.log(pageNumber+":"+isFlip[pageNumber]);
- if(isFlip[pageNumber]<=1){
- screenForward();
- $(".notice-swipe-up").removeClass("swipeMove");
- }else{
- flipCard();
- }
- }else if(endY && endY !== startY && endY-startY>=25){
- console.log(pageNumber+":"+isFlip[pageNumber]);
- if(!isFlip[pageNumber] || isFlip[pageNumber]===2){
- screenBack();
- }else{
- flipCard();
- }
- }
- }
- // 滑动相关 end
- // 预加载图片
- function preImg(ele){
- var img_src=$(ele).css("background-image");
- img_src=img_src.split("(")[1].split(")")[0];
- var preImg=new Image();
- preImg.src=img_src;
- return preImg;
- }
- // 正式开始
- // 定义变量
- var screenHeight=$(window).height();
- var pageNumber=0;
- var currentDistance=0;
- var contentList=$(".content-list");
- var tmpEndY,tmpStartY;
- var isFlip=[0,2,2,2,0,0,0];
- var showTheLast=0;
- // 判断是否安卓
- var sUserAgent = navigator.userAgent.toLowerCase();
- var bIsAndroid = sUserAgent.match(/android/i) == "android";
- // 判断是否短屏手机
- var isShort;
- if($(window).height()<=416){
- isShort=true;
- }
- // 每一页高度自适应
- $(".content-li").each(function () {
- $(this).css("height", $(window).height());
- });
- // 长屏幕增加背景
- if(screenHeight>504){
- var gapHeight=(screenHeight-504)/2;
- $(".p5__extra").css({"top":-gapHeight,"height":gapHeight+5});
- $(".p6__extra").css({"top":-gapHeight,"height":gapHeight+5});
- }
- // 首屏动画
- setTimeout(function(){
- $(".p0__bubble").addClass("riseUp");
- },500);
- setTimeout(function(){
- $(".p0__t_1").addClass("riseUp");
- },800);
- setTimeout(function(){
- $(".p0__t_2").addClass("riseUp");
- },1000);
- setTimeout(function(){
- $(".p0__t_3").addClass("riseUp");
- },1200);
- // 绑定翻页
- contentList.on("touchstart",function(e){
- startTouch(e);
- });
- contentList.on("touchmove",function(e){
- moveTouch(e);
- });
- contentList.on("touchend",function(e){
- endTouch(e);
- });
- // 载入后显示指引
- setTimeout(function(){
- $(".notice-swipe-up").addClass("swipeMove");
- },500);
- // 显示分享浮层
- $(".p6__share-btn").on("tap",function(){
- $(".speaker").css("display","none");
- $(".share-mask").css({"display":"block","-webkit-transition":"display 0.3s ease-in","transition":"display 0.3s ease-in"});
- setTimeout(function(){
- $(".share-mask").css("display","none");
- $(".speaker").css("display","block");
- },1500);
- });
- // 控制声音
- $(".speaker").on("click",function(){
- var audioEle=document.querySelector("audio");
- if(audioEle.paused){
- $(".speaker").removeClass("speaker_muted");
- audioEle.play();
- }else{
- $(".speaker").addClass("speaker_muted");
- audioEle.pause();
- }
- });
|