jQuery动态效果学习篇

资料来源

w3cschool

1.元素的显示与隐藏

1.1显示元素show()

语法

$(selector).show(speed,callback);

显示已经设置隐藏的元素

1.2隐藏元素hide()

语法

$(selector).hide(speed,callback);

隐藏已显示的元素

1.3显示、隐藏的切换toggle

语法

$(selector).toggle(speed,callback)

若元素是隐藏的,则显示

若元素时显示的,则隐藏

参数说明

speed:规定显示或隐藏的速度,取值:slow,fast,毫秒数

callback: 回调函数,当显示或隐藏执行后,执行的函数;

栗子--二级菜单的显示与隐藏

HTML

<ul class="menu">

<li><a href="javascript:;">menu1</a><li>

<li><a href="javascript:;">menu2</a>

<ul class="sub-menu">

<li><a href="javascript:;">mune21</a></li>

<li><a href="javascript:;">menu22</a></li>

</ul>

</li>

<li><a href="javascript:;">menu3</a></li>

<li><a href="javascript:;">menu4</a></li>

</ul>

CSS

ul,li,a{padding:0;margin:0;list-style:none;text-decoration:none;}

.menu{width:960px;height:45px;border-radius:5px;margin:100px auto;}

.menuli{float:left;position:relative;background:indianred;-webkit-transition:all 0.5s ease;

-moz-transition:all 0.5s ease;-ms-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}

.menuli a{display:inline-block;width:120px;height:45px;line-height:45px;text-align:center;margin:0 15px;padding:0 10px;color:#fff;}

.menuli a:hover{color:paleturquoise;}

.sub-menu{display:none;width:100%;position:absolute;top:70px;}

.sub-menu:after{content:'';width:0;height:0;position:absolute;top:-40px;left:65px;border:20px solid transparent;;border-bottom-color:indianred;z-index:100;}

JS

方法一:使用show(),hide()

$('.menuli').mouseover(function() {

$(this).find('.sub-menu').show();

}).mouseout(function() {

$(this).find('.sub-menu').hide();

});

方法二:使用toggel()

$('.menuli').mouseover(function() {$(this).find('.sub-menu').toggle();}).mouseout(function() {$(this).find('.sub-menu').toggle();});

效果展示


元素的显示与隐藏


2.元素的淡入淡出效果

2.1 淡入fadeIn

语法

$(selector).fadeIn(speed,callback);

淡入已经隐藏的元素

2.2  淡出fadeOut

语法

$(selector).fadeOut(speed,callback);

淡出可见元素

2.3 切换fadeToggle

语法

$(selector).fadeToggle(speed,callback);

如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。

如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果

2.4 切换fadeTo

语法

$(selector).fadeTo(speed,opacity,callback);

参数说明

speed:效果执行的速度

callback: 效果执行完后,调用的函数

opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)

栗子

HTML

<div class="btn-group">

<button class="btn btn1">fadeIn</button>

<button class="btn btn2">fadeOut</button>

<button class="btn btn3">fadeToggle</button>

<button class="btn btn4">fadeTo</button>

</div>

<div class="box box1"> fadeIn</div>

<div class="box box2">fadeOut</div>

<div class="box box3">fadeToggle</div>

<div class="box box4">fadeTo</div>

CSS

div,button{padding:0;margin:0}

.btn{display:inline-block;width:120px;height:34px;line-height:34px;border:none;outline:none;background:paleturquoise;color:purple;}

.box{display:inline-block;margin:30px 15px 0 0;width:200px;height:200px;background:deeppink;transition:all 2s ease-in-out;}

.box1{display:none;}

.box3{display:none;background-color:aquamarine;}

.box4{opacity:0;}

JS

$(function() {

$('.btn1').click(function() {

$('.box1').fadeIn(2000).css('background','paleturquoise');

});

$('.btn2').click(function() {

$('.box2').fadeOut('slow');

});

$('.btn3').click(function() {

$('.box3').fadeToggle();

});

$('.btn4').click(function() {

$('.box4').fadeTo(3000,1)

});

});

效果展示


元素的淡入淡出效果

3.滑动

3.1向下滑动slideDown

语法

$(selector).slideDown(speed,callbback)

3.2向上滑动slideUp

语法

$(selector).slideUp(speed,callbback)

3.3切换slideToggle

语法

$(selector).slideToggle(speed,callbback)

如果元素向下滑动,则 slideToggle() 可向上滑动它们。

如果元素向上滑动,则 slideToggle() 可向下滑动它们。

参数说明

speed:效果执行的速度

callback: 效果执行完后,调用的函数

栗子

HTML

<div class="box1">

<div class="box2"></div>

</div>

CSS

div{padding:0;margin:0}

.box1{position:relative;top:50%;left:50%;width:200px;height:200px;background:khaki;}

.box2{display:none;position:absolute;left:0;bottom:0;width:200px;height:100px;background:#333;opacity:0.5;z-index:10;}

JS

$(function() {

var isclick =true;

$('.box1').click(function() {

if(isclick) {

$('.box2').slideDown();

isclick =false;

}else{

$('.box2').slideUp();

isclick =true;

}

});

});

效果展示


滑动事件




3.4动画animate

语法

$(selector).animate({param},speed,callback)

参数说明

{param}: 需要设置动画效果的CSS属性

speed: 动画执行的时间

callback:动画效果执行完后,调用的函数

注意:

当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。

animate:可以使用相对值,在值的前面加上 += 或 -=;

栗子

HTML

<div class="box"></div>

CSS

div{padding:0;margin:0;}

.box{position:relative;top:0;left:0;width:100px;height:100px;border-radius:100%;background-color:brown;transition:all 0.35s ease;}

JS

var iSpeed =0,timer =null;

timer = setInterval(function() {

iSpeed++;

$('.box').animate({

left: iSpeed*10+'px'

},'fast');

if(iSpeed ===15) {

clearInterval(timer);

}

},1000)


效果展示


动画效果


animate使用相对值

$(function() {

$('.changeSize').click(function() {

$(this).animate({

width:'+=200px',

height:'+=250px',

left:'200px'

});

});

});

效果展示


动画效果2

3.5停止动画stop

语法

$(selector).stop(stopAll,goToEnd)

参数说明

stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行;

goToEnd 参数规定是否立即完成当前动画。默认是 false;

默认地,stop() 会清除在被选元素上指定的当前动画

stop方法的使用可以不带参数

栗子

HTML

<button class="stop"></button>

<div class="box"></div>

CSS

div{padding:0;margin:0;}

.box{position:relative;top:0;left:0;width:100px;height:100px;background-color:orchid;}

.stop{display:block;border:none;outline:none;width:80px;height:34px;line-height:34px;background-color:aqua;}

JS

$('.box').click(function() {

$('.box').animate({left:'500px'},5000);

});

$('.stop').click(function() {

$('.box').stop();

});

效果展示


停止动画
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 649评论 0 3
  • jQuery 安装 把 jQuery 添加到您的网页 如需使用 jQuery,您需要下载 jQuery 库(会在下...
    Clover园阅读 289评论 0 0
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,321评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,162评论 0 1
  • 毕淑敏 那时我在乡下医院当化验员。一天到仓库去,想领一块新油布。 管库的老大妈,把犄角旮旯翻了个底朝天,然后对...
    夕阳最羡人阅读 210评论 0 0