jquery頁面效果,jquery 效果

jQuery實(shí)現(xiàn)切換頁面過渡動(dòng)畫效果

直接為大家介紹制作過程,希望大家可以喜歡。

在茂名等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,外貿(mào)網(wǎng)站建設(shè),茂名網(wǎng)站建設(shè)費(fèi)用合理。

HTML結(jié)構(gòu)

該頁面切換特效的HTML結(jié)構(gòu)使用一個(gè)main元素來作為頁面的包裹元素,div.cd-cover-layer用于制作頁面切換時(shí)的遮罩層,div.cd-loading-bar是進(jìn)行ajax加載時(shí)的loading進(jìn)度條。

main

div

class="cd-index

cd-main-content"

div

h1Page

Transition/h1

!--

your

content

here

--

/div

/div

/main

div

class="cd-cover-layer"/div

!--

this

is

the

cover

layer

--

div

class="cd-loading-bar"/div

!--

this

is

the

loading

bar

--

CSS樣式

該頁面切換特效中使用body::before和body::after偽元素在頁面切換過程中創(chuàng)建兩個(gè)遮罩層來遮住頁面內(nèi)容。它們的定位是固定定位,高度等于50vh,寬度為100%。默認(rèn)情況下,使用CSS

transform屬性將它們隱藏起來(translateY(-100%)/translateY(100%))。當(dāng)用戶切換頁面的時(shí)候,這些元素被移動(dòng)回視口當(dāng)中(通過在body元素上添加.page-is-changing

class)。

下面的圖片演示了這個(gè)過程:

頁面切換特效

body::after,

body::before

{

/*

these

are

the

2

half

blocks

which

cover

the

content

once

the

animation

is

triggered

*/

height:

50vh;

width:

100%;

position:

fixed;

left:

0;

}

body::before

{

top:

0;

transform:

translateY(-100%);

}

body::after

{

bottom:

0;

transform:

translateY(100%);

}

body.page-is-changing::after,

body.page-is-changing::before

{

transform:

translateY(0);

}

頁面切換時(shí),頁面內(nèi)容的淡入淡出效果是通過改變div.cd-cover-layer的透明度實(shí)現(xiàn)的。它覆蓋了.cd-main-content元素,并具有相同的背景色,然后在body被添加.page-is-changing

class的時(shí)候,將透明度從0修改為1。

Loading進(jìn)度條使用.cd-loading-bar::before偽元素來制作。默認(rèn)它被縮?。╯caleX(0))和transform-origin:

left

center。當(dāng)頁面切換開始時(shí)它被使用scaleX(1)放大會(huì)原來的尺寸。

.cd-loading-bar

{

/*

this

is

the

loading

bar

-

visible

while

switching

from

one

page

to

the

following

one

*/

position:

fixed;

height:

2px;

width:

90%;

}

.cd-loading-bar::before

{

/*

this

is

the

progress

bar

inside

the

loading

bar

*/

position:

absolute;

left:

0;

top:

0;

height:

100%;

width:

100%;

transform:

scaleX(0);

transform-origin:

left

center;

}

.page-is-changing

.cd-loading-bar::before

{

transform:

scaleX(1);

}

特效中平滑的過渡效果使用CSS

Transitions來實(shí)現(xiàn)。每一個(gè)動(dòng)畫元素都被添加了不同的transition-delay,以實(shí)現(xiàn)不同的元素動(dòng)畫順序。

JAVASCRIPT

該頁面切換特效中在鏈接上使用data-type="page-transition"屬性,用于觸發(fā)頁面切換事件。當(dāng)插件檢測(cè)到用戶點(diǎn)擊事件,changePage()方法將被執(zhí)行。

$('main').on('click',

'[data-type="page-transition"]',

function(event){

event.preventDefault();

//detect

which

page

has

been

selected

var

newPage

=

$(this).attr('href');

//if

the

page

is

not

animating

-

trigger

animation

if(

!isAnimating

)

changePage(newPage,

true);

});

這個(gè)方法會(huì)觸發(fā)頁面切換動(dòng)畫,并通過loadNewContent()方法加載新內(nèi)容。

function

changePage(url,

bool)

{

isAnimating

=

true;

//

trigger

page

animation

$('body').addClass('page-is-changing');

//...

loadNewContent(url,

bool);

//...

}

當(dāng)新的內(nèi)容被加載后,會(huì)替代原來main元素中的內(nèi)容。.page-is-changing

class被從body中移除,新加載的內(nèi)容會(huì)被添加到window.history中(使用pushState()方法)。

function

loadNewContent(url,

bool)

{

var

newSectionName

=

'cd-'+url.replace('.html',

''),

section

=

$('div

class="cd-main-content

'+newSectionName+'"/div');

section.load(url+'

.cd-main-content

*',

function(event){

//

load

new

content

and

replace

main

content

with

the

new

one

$('main').html(section);

//...

$('body').removeClass('page-is-changing');

//...

if(url

!=

window.location){

//add

the

new

page

to

the

window.history

window.history.pushState({path:

url},'',url);

}

});

}

為了在用戶點(diǎn)擊瀏覽器的回退按鈕時(shí)觸發(fā)相同的頁面切換動(dòng)畫效果,插件中監(jiān)聽popstate事件,并在它觸發(fā)時(shí)執(zhí)行changePage()函數(shù)。

$(window).on('popstate',

function()

{

var

newPageArray

=

location.pathname.split('/'),

//this

is

the

url

of

the

page

to

be

loaded

newPage

=

newPageArray[newPageArray.length

-

1];

if(

!isAnimating

)

changePage(newPage);

});

在jquery中,怎樣實(shí)現(xiàn)刷新頁面的效果?

不需要使用jquery,使用javascript的setTimeout()即可實(shí)現(xiàn):

window.onload?=?function(){

setTimeout("location.reload()",2000);

}

代碼效果如下:

如何讓jquery動(dòng)畫效果在屏幕滾動(dòng)到指定位置才執(zhí)行

1、新建一個(gè)html文件,命名為test.html。

2、在test.html文件內(nèi),使用div標(biāo)簽創(chuàng)建一個(gè)模塊,并設(shè)置其id為mycss。

3、在css標(biāo)簽內(nèi),定義div的樣式,設(shè)置其寬度為100px,高度為2000px,背景顏色為粉紅色。

4、在js標(biāo)簽內(nèi),使用scroll()方法監(jiān)聽頁面的滾動(dòng)條,并執(zhí)行function方法。

5、在function方法內(nèi),使用if語句判斷,當(dāng)前滾動(dòng)的位置(scrollTop())是否到達(dá)頁面的底部($(document).height()-$(window).height()),如果到達(dá)頁面底部,提示“已經(jīng)到底部了”。

新聞標(biāo)題:jquery頁面效果,jquery 效果
標(biāo)題URL:http://muchs.cn/article30/phesso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站網(wǎng)站營(yíng)銷、標(biāo)簽優(yōu)化定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作