jQuery入门(三)--- jQuery语法
5、jQuery动画-显示show()隐藏hide()5.1 三组基本动画5.2 自定义动画 animate5.3 动画队列--stop函数
6、动态创建元素7、jQuery添加节点的几种方法8、清空节点9、克隆节点clone()
5、jQuery动画-显示show()隐藏hide()
5.1 三组基本动画
+ 显示(show())与隐藏(hide())是一组动画
$obj.show([speed],[callback]);
//参数1:speed(可选);动画的执行时间
//1.如果不传,就没有动画效果。如果是slidde和fade系列,会默认为normal
//2.毫秒值(比如1000),动画再1000毫秒执行完成(推荐)
//3.固定字符串,slow(600),normal(400),fast(200),如果传递其他字符串,则默认为normal。
//参数2:callback(可选);执行完动画后执行的回调函数
+ 滑入(slideDown()) 与 滑出(slideUp())与切换(slideToggle()),效果与卷帘门类似
+ 淡入(fadeIn())与淡出(fadeOut())与切换(fadeToggle())
10种jQuery动画案例:
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<style
>
div
{
width
: 200px
;
height
: 200px
;
background
-color
: red
;
display
:none
;
}
</style
>
<body
>
<input type
="button" value
="显示" id
="show"/>
<input type
="button" value
="隐藏" id
="hide"/>
<input type
="button" value
="切换" id
="toggle"/> <br
/>
<input type
="button" value
="滑入" id
="slideDown">
<input type
="button" value
="滑出" id
="slideUp">
<input type
="button" value
="切换" id
="slideToggle"> <br
/>
<input type
="button" value
="淡入" id
="fadeIn"/>
<input type
="button" value
="淡出" id
="fadeOut"/>
<input type
="button" value
="切换" id
="fadeToggle"/>
<input type
="button" value
="淡入到哪里" id
="fadeTo"/> <br
/>
<div id
="div1"></div
>
<script
>
$(function(){
$('#show').click(function(){
$('#div1').show(2000,function(){
alert('动画执行完毕了');
});
})
$('#hide').click(function(){
$('#div1').hide(2000,function(){
alert('隐藏了');
});
})
$('#toggle').click(function(){
$('#div1').toggle(1000);
})
$('#slideDown').click(function(){
$('#div1').slideDown(2000,function(){
alert('已经滑入了');
})
})
$('#slideUp').click(function(){
$('#div1').slideUp(2000,function(){
alert('已经滑出了');
})
})
$('#slideToggle').click(function(){
$('#div1').slideToggle(1000);
})
$('#fadeIn').click(function(){
$('#div1').fadeIn(1000,function(){
alert('淡入完成');
})
})
$('#fadeOut').click(function(){
$('#div1').fadeOut(1000,function(){
alert('淡入完成');
})
})
$('#fadeToggle').click(function(){
$('#div1').fadeToggle(1000);
})
$('#fadeTo').click(function(){
$('#div1').fadeTo(1000,0.5);
})
})
</script
>
</body
>
5.2 自定义动画 animate
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<style
>
div
{
width
: 100px
;
height
: 100px
;
background
-color
: red
;
position
:absolute
;
left
:0;
}
#div1
{
top
:50px
;
}
#div2
{
top
:170px
;
}
</style
>
<body
>
<input type
="button" value
="从左到由800" id
="lr800"/>
<div id
="div1"></div
>
<!--<div id
="div2"></div
>-->
<script
>
$(function(){
$('#lr800').click(function(){
$('#div1').animate({left
:800,width
:200,height
:200,opacity
:0.5},2000,'linear',function(){alert('动画完毕了')});
})
})
</script
>
</body
>
5.3 动画队列–stop函数
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<style
>
div
{
width
: 200px
;
height
: 300px
;
background
-color
: red
;
display
: none
;
}
</style
>
<body
>
<input type
="button" value
="开始动画" id
="start">
<input type
="button" value
="结束动画" id
="stop">
<div
></div
>
<script
>
$(function(){
$('#start').click(function(){
$('div').slideDown(2000).slideUp(2000);
});
$('#stop').click(function(){
$('div').stop(false,false);
})
})
</script
>
</body
>
6、动态创建元素
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<style
>
#div1
{
width
: 300px
;
height
: 300px
;
border
:1px solid red
;
}
</style
>
<body
>
<input type
="button" value
="html()" id
="btnHtml1">
<input type
="button" value
="$()" id
="btn1"> <br
/><br
/>
<div id
="div1">
<p
>p1
<span
>span1
</span
>
</p
>
</div
>
<script
>
$(function(){
$('#btnHtml1').click(function(){
console
.log($('#div1').html());
$('#div1').html('我是新设置的内容<a>解析标签</a>');
})
$('#btn1').click(function(){
var $link
= $('<a href="http://news.baidu.com">我是新闻</a>');
$('#div1').append($link
);
})
})
</script
>
</body
>
7、jQuery添加节点的几种方法
append(); 父元素.append(子元素)
prepend(); 父元素.prepend(子元素)
before(); 元素A.before(元素B)
after(); 元素A.after(元素B)
appendTo(); 子元素.appendTo(父元素)
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<body
>
<input type
="button" value
="append" id
="btnAppend">
<input type
="button" value
="prepend" id
="btnPrepend">
<input type
="button" value
="after" id
="btnAfter">
<input type
="button" value
="before" id
="btnBefore">
<input type
="button" value
="appendTo" id
="btnAppendTo">
<ul id
="ul1">
<li
>我是第
1个li标签
</li
>
<li
>我是第
2个li标签
</li
>
<li id
="li31">我是第
3个li标签
</li
>
<li
>我是第
4个li标签
</li
>
<li
>我是第
5个li标签
</li
>
</ul
>
<ul id
="ul2">
<li
>我是第
1个li标签
2</li
>
<li
>我是第
2个li标签
2</li
>
<li id
="li32">我是第
3个li标签
2</li
>
<li
>我是第
4个li标签
2</li
>
<li
>我是第
5个li标签
2</li
>
</ul
>
<script
>
$(function(){
$('#btnAppend').click(function(){
$('#ul1').append('<li>我是新添加的li标签,我在最后面</li>');
var $li31
= $('#li31');
$('#ul1').append($li31
);
var $li31
= $('#li31');
$('#ul2').append($li31
);
})
$(function(){
$('#btnPrepend').click(function(){
$('#ul1').prepend('<li>我是新添加的li,我在最前面</li>')
$('#ul1').prepend($('#li31'));
var $li31
= $('#li31');
$('#ul2').prepend($li31
);
})
})
$('#btnBefore').click(function(){
var $divNew1
=$('<div>我是新建的div</div>');
$('#ul1').before($divNew1
);
})
$('#btnAfter').click(function(){
var $divNew2
=$('<div>我是新建的div</div>');
$('#ul1').after($divNew2
);
})
$('#btnAppendTo').click(function(){
var $liNew
=$('<li>我是新创建的li</li>');
$liNew
.appendTo('#ul1');
})
})
</script
>
</body
>
8、清空节点
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<body
>
<input type
="button" value
="按钮" id
="btn">
<ul id
="ul1">
<li
>我是第
1个标签
</li
>
<li
>我是第
2个标签
</li
>
<li id
="li3">我是第
3个标签
</li
>
<li
>我是第
4个标签
</li
>
<li
>我是第
5个标签
</li
>
</ul
>
<script
>
$(function(){
$('#btn').click(function(){
$('#ul1').empty();
$('#li3').remove();
$('#li3').parent().remove();
})
})
</script
>
</body
>
9、克隆节点clone()
<script src
="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script
>
<body
>
<input type
="button" value
="克隆" id
="clone">
<div id
="div1">
<span
>span1
</span
>
<p
>p1
<b
>b1
</b
>
</p
>
</div
>
<script
>
$(function(){
$('#clone').click(function(){
var $cloneDiv
= $('#div1').clone();
$('body').append($cloneDiv
);
})
})
</script
>
</body
>