久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

pageSwitch.js用法

移動互聯網的火熱發展,帶來了很多產品推廣傳播的 html5 頁面開發需求,而這類頁面又往往以單頁面滾屏(onepage-scroll)類型居多。基于業務上的需要,誕生了pageSwitch.js插件,支持多達

移動互聯網的火熱發展,帶來了很多產品推廣傳播的html5頁面開發需求,而這類頁面又往往以單頁面滾屏(onepage-scroll)類型居多。基于業務上的需要,誕生了pageSwitch.js插件,支持多達106種切頁效果,更可支持自定義切頁動畫, 盡情發揮想象力!

 

現在內置支持的效果主要分為以下幾個大類:

fade:基于透明度(opacity)為實現的漸顯漸隱效果

slice:基于尺寸(height、width)實現的裁切效果

scroll:基于位置(translate、top、left)實現的滾動效果

slide:基于位置(translate、top、left)實現的滑屏效果

flip:基于rotate變換實現的翻轉效果

flip3d:3d空間翻轉

flipPaper:翻書效果

flipClock:翻頁鐘效果

skew:基于skew變換實現的扭曲效果

zoom:基于scale變換實現的縮放效果

bomb:基于scale變換和透明度(opacity)實現的爆炸效果

 

使用方法
// 首先在頁面中引入pageSwitch.js
// 調用 pageSwitch 方法

var pw=new pageSwitch('container id',{
    duration:600,           //int 頁面過渡時間
    direction:1,            //int 頁面切換方向,0橫向,1縱向
    start:0,                //int 默認顯示頁面
    loop:false,             //bool 是否循環切換
    ease:'ease',            //string|function 過渡曲線動畫,詳見下方說明
    transition:'slide',     //string|function轉場方式,詳見下方說明
    mousewheel:false,       //bool 是否啟用鼠標滾輪切換
    arrowkey:false,         //bool 是否啟用鍵盤方向切換
    autoplay:false,         //bool 是否自動播放幻燈 新增
    interval:int            //bool 幻燈播放時間間隔 新增
});

//調用方法
pw.prev();                  //上一張
pw.next();                  //下一張
pw.slide(n);                //第n張
pw.setEase();               //重新設定過渡曲線
pw.setTransition();         //重新設定轉場方式
pw.freeze(true|false);      //凍結頁面轉換,凍結后不可響應用戶操作(調用slide prev next方法還可以進行)

pw.play();                  //播放幻燈
pw.pause();                 //暫停幻燈

/* 2015.03.22 新增方法 */
pw.prepend(DOM_NODE);       //前增頁面
pw.append(DOM_NODE);        //后增頁面
pw.insertBefore(DOM_NODE,index);    //在index前添加
pw.insertAfter(DOM_NODE,index);     //在index后添加
pw.remove(index);           //刪除第index頁面

pw.destroy();               //銷毀pageSwitch效果對象

/* 事件綁定
 * event可選值:
 * 
 * before 頁面切換前
 * after 頁面切換后
 * update 頁面切換中
 * dragStart 開始拖拽
 * dragMove 拖拽中
 * dragEnd 結束拖拽
 */
pw.on(event,callback);
setEase 示例

內置支持 linear ease ease-in ease-out ease-in-out bounce等
bounce 彈跳過渡,很有意思,可以試試

//注:此處傳值也可直接在new pageSwitch對象時經ease參數傳入
//設置勻速linear過渡示例:
pw.setEase('linear'); //由于內置了linear支持,所以可以直接使用

//假如沒有內置linear,則使用自定義過渡曲線函數如下
pw.setEase(function(t,b,c,d){
    return c*t/d + b;
});
更多曲線函數參見:https://github.com/zhangxinxu/Tween/blob/master/tween.js

setTransition 示例

支持以下轉場效果:

fade 漸隱漸顯

scroll 頁面滾動
scrollCover 頁面視差滾入滾出(前后頁面速度不一致)
scrollCoverIn 總是下一張頁面視差滾入
scrollCoverOut 總是當前頁面視差滾出

slide 滑動切換,后者頁面有縮放效果
slideCover 頁面滑入滑出
slideCoverIn 總是下一張頁面滑入
slideCoverOut 總是當前頁面滑出

zoom 縮放切換
zoomCover 頁面縮進縮出
zoomCoverIn 總是下一張頁面縮入
zoomCoverOut 總是當前頁面縮出

skew 扭曲切換
skewCover 頁面扭進扭出
skewCoverIn 總是下一張頁面扭入
skewCoverOut 總是當前頁面扭出

flip 翻轉切換
flipCover 頁面翻入翻出
flipCoverIn 總是下一張頁面翻入
flipCoverOut 總是當前頁面翻出

bomb 放大切換
bombCover 頁面大入大出
bombCoverIn 總是下一張頁面大入
bombCoverOut 總是當前頁面大出

注意:除了fade,所有效果都支持指定X或Y軸方向效果,只要在名字后面加上X或Y即可。 例如:scrollY flipX flipCoverX flipCoverInX 等類似。

//注:此處傳值也可直接在new pageSwitch對象時經transition參數傳入
//設置fade效果示例:
pw.setTransition('fade'); //由于內置了fade效果,所以可以直接調用。

//假定沒有內置fade,自定義轉場函數如下
pw.setTransition(function(cpage,cp,tpage,tp){
    /* 過渡效果處理函數
     *
     * @param Element cpage 當前頁面
     * @param Float cp      當前頁面過度百分比。cp<0說明向上切換,反之向下
     * @param Element tpage 前序頁面
     * @param Float tp      前序頁面過度百分比 。tp<0說明向下切換,反之向上
     * 注意:后兩個參數 tpage和tp可能為空(頁面切換邊緣時,第一張、最后一張的情況)
     */

    if('opacity' in cpage.style){
        cpage.style.opacity=Math.abs(tp);
        if(tpage){
            tpage.style.opacity=Math.abs(cp);
        }
    }else{
        cpage.style.filter='alpha(opacity='+(Math.abs(tp))*100+')';
        if(tpage){
            tpage.style.filter='alpha(opacity='+Math.abs(cp)*100+')';
        }
    }
});
 
優缺點自談

  沒有完美的東西,我自己對這個組件也有一些看法,并不是推薦大家說這個東西適用任何情況。

  優點:組件定義了外部操作框架,可以很方面的實現自己需要的動畫效果,并且內置了許多的效果,適用起來簡單方便。

  缺點:由于為了動畫定義邏輯的簡單,動畫部分沒有使用css3的transition。與原生transition動畫相比,雖然已經使用了requestAnimationFrame,但是由于部分基于簡化操作的原因,性能損耗是不可避免的。但是這只是在老機型上的表現,在終端性能越來強大的今天,這部分性能損耗基本可以忽略。

  綜上,我個人建議,如果你的頁面不是大多跑到三四年前那種iphone4 android2.2等老機器上的,大可放心使用pageSwitch。

  兼容全平臺,包括IE6+

 

自定義動畫效果即通過定義一個函數用來處理頁面樣式
 //這里以定義一個fade動畫樣式來舉例  
pageSwitch.addTransition('fade',function(cpage,cp,tpage,tp){  
    /*
     * @param HTMLElement cpage 參與動畫的前序頁面  
     * @param Float cp 目標頁面過渡比率,取值范圍-1到1  
     * @param HTMLElement tpage 參與動畫的后序頁面;如果非循環loop模式,則在切換到邊緣頁面時可能不存在該參數  
     * @param Float tp 目標頁面過渡比率,取值范圍-1到1;如果非循環loop模式,則在切換到邊緣頁面時可能不存在該參數  
     */ 
   
    if('opacity' in cpage.style){   //檢測透明度css支持  
        cpage.style.opacity=1-Math.abs(cp);  
        if(tpage){  
            tpage.style.opacity=Math.abs(cp);  
        }  
    }else{  
        cpage.style.filter='alpha(opacity='+(1-Math.abs(cp))*100+')';  
        if(tpage){  
            tpage.style.filter='alpha(opacity='+Math.abs(cp)*100+')';  
        }  
    }  
});  
   
//如果你有jQuery類似組件,可以更簡單  
pageSwitch.addTransition('fade',function(cpage,cp,tpage,tp){  
    $(cpage).css('opacity',1-Math.abs(cp));  
    $(tpage).css('opacity',Math.abs(cp));  
}); 
 
Github & Demo

pageSwitch.js

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

主站蜘蛛池模板: 精品国产色 | 国产www.| 精品国产乱码久久久久久蜜柚 | 亚洲一区二区三区四区五区中文 | 国产日韩精品久久 | 国产伦一区二区三区久久 | 99成人在线视频 | 性一爱一乱一交一视频 | 老司机久久 | 日本一区二区高清视频 | 狠狠天天 | 亚洲成人中文字幕 | 国产农村妇女毛片精品久久麻豆 | 日韩一区二区在线观看视频 | 欧美日韩视频在线第一区 | 国产精品v| 欧美在线视频不卡 | 欧美精品一区在线发布 | 国产情品 | 青青久视频 | 久久成人免费 | 中文在线视频 | 国产永久免费 | 久久久久亚洲精品 | 亚洲免费视频播放 | 成人激情视频网 | 日韩电影免费在线观看中文字幕 | 亚洲国产一区二区三区在线观看 | 欧美中文字幕一区二区三区亚洲 | 毛片片 | 成人亚洲性情网站www在线观看 | 在线播放第一页 | 超碰在线影院 | 欧美不卡在线 | 日韩欧美一区二区三区四区 | 午夜久久久久 | 蜜桃视频一区二区三区 | 蜜臀网| www.国产一区 | 青青草在线视频免费观看 | 欧美一级免费 |