亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

網頁滑動切換特效:采用AJAX刷新和CSS切換

2024-07-11 09:02:08
字體:
來源:轉載
供稿:網友

武林網(www.49028c.com)文章簡介:我想出的解決辦法其實很簡單,采用AJAX刷新、CSS切換。這里還需要注意的是,只有在WebKit瀏覽器上能看到效果。(我個人用PhoneGap做了一個測試應用,可以在Android和IOS系統上運行,所以我只需要WebKit的兼容性。)

我做了一個關于網頁滑動切換的小例子。這個確實很簡單,只要你會使用jQuery、jQuery Mobile、zepto或者其他一些框架,然后他們會給你處理好這個。我不想這么做,我想挑戰一下不使用任何框架就可以實現這個效果。HTML代碼是越簡單越好。

我谷歌搜索了下相關的資料,沒有找到什么好的解決辦法,所以我打算自己寫。

我想出的解決辦法其實很簡單,采用AJAX刷新、CSS切換。這里還需要注意的是,只有在WebKit瀏覽器上能看到效果。(我個人用PhoneGap做了一個測試應用,可以在Android和IOS系統上運行,所以我只需要WebKit的兼容性。)

首先,我們來看看對body標簽的css樣式,我讓它有動畫效果:

1body{

2position: relative;

3-webkit-transition: left .2s ease;

4}

接下來,我做的是給超鏈接添加點擊事件,讓它產生切換效果。這我從一篇很棒的文章中學到的一些方法,來處理這些沒有jQuery時的操作,那篇文章叫。

01document.addEventListener('DOMContentLoaded', function() {

02replaceLinks();

03});

04

05function replaceLinks(){

06var links = document.querySelectorAll('a');

07

08for (i=0; i<links.length; i++){

09var link = links[i];

10link.addEventListener("click",replacePage, false);

11}

12

13}

下一步是使用AJAX獲取到鏈接頁面。

1event.preventDefault();

2var href= this.href;

3

4var ajax = new XMLHttpRequest();

5ajax.open("GET",href,true);

6ajax.send();

現在來看看要達到切換效果,還需要哪些步驟:

1. 滑動當前頁面到屏幕左側;

2. 瞬間移動當前頁面到屏幕右側;

3. 替換body里面的內容;

4. 從屏幕右側滑入當前頁面對。

你必須要遵循上面的步驟,不然不能達到預期的效果;現在我來告訴我是怎么做的:

我移動body到屏幕的左側

1body.style.left = "-100%";

這里我寫了個移動監聽事件

1body.addEventListener( 'webkitTransitionEnd', moveToRight, false);

2

3function moveToRight(event){

4var body = document.querySelector('body');

5body.removeEventListener( 'webkitTransitionEnd', moveToRight, false);

6body.addEventListener( 'webkitTransitionEnd', returnToCenter, false);

7body.style.opacity = 0;

8body.style.left = "100%"

9}

接下來,我替換body的內容,讓它再次可見,調整瀏覽記錄,并將它帶回屏幕中心。

1function returnToCenter(event){

2var body = document.querySelector('body');

3body.removeEventListener( 'webkitTransitionEnd', returnToCenter, false);

4body.innerHTML = bodyContent;

5history.pushState(null, null, href);

6body.style.opacity = 1;

7body.style.left = 0;

8replaceLinks();

9}

切換過程中,用戶可能會點擊后退按鈕,我們還需對此進行處理:

01window.addEventListener("popstate", handleBackButton);

02

03function handleBackButton(e) {

04

05var ajaxBack = new XMLHttpRequest();

06ajaxBack.open("GET",location.pathname,true);

07ajaxBack.send();

08

09ajaxBack.onreadystatechange=function(){

10var bodyBack = document.querySelector('body');

11var bodyBackContent = grabBody(ajaxBack.responseText, "body");

12bodyBack.addEventListener( 'webkitTransitionEnd', moveToLeft, false);

13bodyBack.style.left = "100%";

14

15function backToCenter(event){

16var body = document.querySelector('body');

17body.removeEventListener( 'webkitTransitionEnd', backToCenter, false);

18body.innerHTML = bodyBackContent;

19body.style.opacity = 1;

20body.style.left = 0;

21replaceLinks();

22}

23

24function moveToLeft(event){

25var body = document.querySelector('body');

26body.removeEventListener( 'webkitTransitionEnd', moveToLeft, false);

27body.addEventListener( 'webkitTransitionEnd', backToCenter, false);

28body.style.opacity = 0;

29body.style.left = "-100%"

30}

31}

32}

有人會問,這是一個最好的方法么?我也不知道,但是它確實管用,而且通過谷歌我沒有找到更好的解決方案。

這里提供有一個演示地址。(只WebKit瀏覽器有效)

你也可以通過github獲取完整的源代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
最近2019好看的中文字幕免费| 91久久夜色精品国产网站| 久久九九精品99国产精品| 亚洲国模精品一区| 国产精品日韩在线一区| www.久久久久| 欧美专区第一页| 亚洲va久久久噜噜噜久久天堂| 777午夜精品福利在线观看| 性欧美亚洲xxxx乳在线观看| 日韩精品久久久久久福利| 成人免费视频97| 一本一本久久a久久精品综合小说| 精品久久久久久国产91| 日韩美女视频免费在线观看| 欧美华人在线视频| 欧美激情在线一区| 精品国产91久久久久久老师| 中文字幕日韩专区| 亚洲一区久久久| 国产偷国产偷亚洲清高网站| 日本伊人精品一区二区三区介绍| 欧美三级欧美成人高清www| 欧美精品日韩www.p站| 日韩黄色av网站| 成人性生交大片免费看小说| 亚洲片国产一区一级在线观看| 国产成人精品最新| 国产自产女人91一区在线观看| 日韩av免费网站| 日韩一中文字幕| 狠狠躁夜夜躁人人爽天天天天97| 国产成人精品av在线| 国产97在线亚洲| 国产成人免费av| 久久视频在线播放| 国产精品成人一区二区三区吃奶| 亚洲视频国产视频| 亚洲欧美国产另类| 国产在线视频不卡| 色悠悠国产精品| 国产精品爽爽爽爽爽爽在线观看| 欧美亚洲另类视频| 91久热免费在线视频| 欧美午夜精品久久久久久久| 亚洲精品v欧美精品v日韩精品| 欧美激情一区二区三区久久久| 欧美黄网免费在线观看| 岛国视频午夜一区免费在线观看| 国产欧美日韩综合精品| 国产一区二区在线免费| 国产精品第10页| 美女福利精品视频| 黄色精品在线看| 国产精品爱久久久久久久| 亚洲精品不卡在线| 奇门遁甲1982国语版免费观看高清| 亚洲电影免费观看高清完整版| 日韩av在线网站| 欧美在线亚洲一区| 亚洲高清在线观看| 亚洲精品视频在线播放| 日韩视频免费在线观看| 伊人伊成久久人综合网站| 中文字幕久精品免费视频| 国产精品专区h在线观看| 亚洲国产精品资源| 17婷婷久久www| 国产一区二区动漫| 亚洲无av在线中文字幕| 国产综合在线视频| 亚洲资源在线看| 欧美裸身视频免费观看| 国产精品xxx视频| 日韩高清av在线| 国产亚洲人成a一在线v站| 中文字幕精品一区二区精品| 欧美老女人xx| 欧美久久精品午夜青青大伊人| 国产精品亚发布| 亚洲国产精品大全| 久久精品久久久久久| 国产精品视频色| 日韩欧美国产视频| 亚洲第一av在线| 18一19gay欧美视频网站| 亚洲精品一区av在线播放| 欧美中文在线免费| 69视频在线免费观看| 日韩免费高清在线观看| 日韩精品免费一线在线观看| 日韩精品极品毛片系列视频| 成人在线播放av| 一区二区三区在线播放欧美| 粉嫩av一区二区三区免费野| 68精品久久久久久欧美| 欧美日韩加勒比精品一区| 日韩精品中文字幕在线观看| 久久久免费高清电视剧观看| 91国在线精品国内播放| 亚洲最大福利视频网站| 国产成人一区三区| 国内精品久久久久久中文字幕| 日韩欧美成人网| 亚洲美女福利视频网站| 色99之美女主播在线视频| 91精品啪aⅴ在线观看国产| 有码中文亚洲精品| 中文字幕最新精品| 上原亚衣av一区二区三区| 26uuu另类亚洲欧美日本老年| 亚洲一区二区久久久久久| 亚洲日本中文字幕| 欧美精品在线免费| 久久久久久久一区二区| 亚洲国产97在线精品一区| 国产成人一区二区三区| 日韩av成人在线| 美日韩丰满少妇在线观看| 最近的2019中文字幕免费一页| 欧洲成人在线观看| 欧美日韩国产第一页| 日韩精品一区二区视频| 日韩av电影在线播放| 国语自产精品视频在免费| 亚洲日本成人女熟在线观看| 国产不卡av在线| 国产欧美 在线欧美| 亚洲美女精品成人在线视频| 国产精品美女999| 精品国产乱码久久久久久虫虫漫画| 国产成人高清激情视频在线观看| 亚洲综合中文字幕68页| 91在线观看免费高清完整版在线观看| 亚洲欧美日韩久久久久久| 日韩精品电影网| 成人免费在线视频网址| 日韩精品极品视频| 欧美性感美女h网站在线观看免费| www.久久久久| 久久电影一区二区| 亚洲片在线资源| 亚洲黄色av女优在线观看| 成人黄色av播放免费| 91精品一区二区| 成人免费高清完整版在线观看| 亚洲国产女人aaa毛片在线| 中文字幕日韩专区| 国产精品在线看| 国产成人高清激情视频在线观看| 国产精品成人va在线观看| 欧美成人午夜视频| 亚洲嫩模很污视频| 青青草原成人在线视频| 国产精品久久久久久久美男| 欧美大学生性色视频| 亚洲国产美女精品久久久久∴| www.亚洲男人天堂| 黄网站色欧美视频| 国产精品99久久久久久www| 久久久久久有精品国产| 在线播放日韩欧美| 成人在线精品视频| 久久久久久亚洲精品|