jQuery(二)
效果
显示隐藏动画
show(),hide(),toggle()
显示、隐藏、切换
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}
div {
width: 200px;
height: 200px;
background-color: blue;
display: none;
}
</style>
<title></title>
<script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$("button").eq(0).click(function(){
$("div").show(1000, function(){
alert("显示完成");
});});
$("button").eq(1).click(function(){
$("div").hide(1000, function(){
alert("隐藏完成");
});});
$("button").eq(2).click(function(){
$("div").toggle(1000, function(){
alert("切换完成");
});});
})
</script>
</head>
<body>
<button type="button">显示</button>
<button type="button">隐藏</button>
<button type="button">切换</button>
<div id="">
</div>
</body>
</html>
对联广告
监听网页滚动:scroll()
获取网页滚动的偏移位:var off = $(html, body).scrollTop()
<script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
//监听页面滚动
$(window).scroll(function(){
//获取滑动的距离
var off = $("html, body").scrollTop();
if(off > 400){
$("img").show(1000);
}
else{
$("img").hide(1000);
}
})
})
</script>
展开和收起动画
slideDown(),slideUp(),slideToggle()
展开,收起,切换
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}
#demo {
width: 200px;
height: 200px;
background-color: #0000FF;
display: none;
}
</style>
<meta charset="utf-8">
<title></title>
<script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function() {
//编写jquery代码
$("button").eq(0).click(function(){
$("#demo").slideDown(1000);
})
$("button").eq(1).click(function(){
$("#demo").slideUp(1000);
})
$("button").eq(2).click(function(){
$("#demo").slideToggle(1000);
})
})
</script>
</head>
<body>
<button type="button">展开</button>
<button type="button">收起</button>
<button type="button">切换</button>
<div id="demo">
</div>
</body>
</html>
折叠菜单
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
margin: 0px;
padding:0px;
/* border: 1px solid resd; */
}
.demo1 {
list-style: none;
width: 300px;
margin: 100px auto;
text-indent: 2em;
/* border: 1px solid black;
border-top: none; */
/* border-bottom: none; */
}
.demo1 li {
border: 1px solid black;
line-height: 30px;
border-bottom: none;
/* border-left: none;
border-right: none; */
/* margin-left: 10px; */
}
.demo2 {
list-style: none;
display: none;
}
.demo2 li {
border-left: none;
border-right: none;
text-indent: 3em;
}
.demo1>li:last-child {
border-bottom: 1px solid black;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
.demo1>li:first-child {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.demo2>li:hover {
background-color: #00FFFF;
}
.demo1>li:hover {
background-color: aquamarine;
}
</style>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$(".demo1>li").click(function(){
// $(this).children(".demo2");
var $demo = $(this).children(".demo2");
$demo.slideToggle(1000);
})
})
</script>
</head>
<body>
<ul class="demo1">
<li>一级菜单
<ul class="demo2">
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
<li>一级菜单
<ul class="demo2">
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
</ul>
</body>
</html>
扩充(.stop()方法)
在jquery中,如果想要执行动画,建议先执行stop方法,然后再执行动画
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}
.demo1 {
width: 300px;
height: 50px;
list-style: none;
margin: 200px auto;
background-color: #FAEBD7;
}
.demo1>li {
/* border: 1px solid red; */
width: 100px;
height: 50px;
line-height: 50px;
float: left;
text-align: center;
}
.demo2 {
list-style: none;
background-color: #00FFFF;
display: none;
}
</style>
<script src="jQuery3.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function() {
$(".demo1>li").mouseenter(function() {
var $demo1 = $(this).children(".demo2");
$demo1.stop();
$demo1.slideDown();
})
$(".demo1>li").mouseleave(function() {
var $demo1 = $(this).children(".demo2");
$demo1.stop();
$demo1.slideUp();
});
});
</script>
</head>
<body>
<ul class="demo1">
<li>下拉菜单1
<ul class="demo2">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>下拉菜单2
<ul class="demo2">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>下拉菜单3
<ul class="demo2">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
</body>
</html>
淡入淡出动画
方法
淡入:fadeIn()
淡出:fadeOut()
切换:fadeToggle()
淡入到:fadeTo()可以传三个参数,第一个为动画时间,第二个为淡入程度,的第三个为淡入结束的执行函数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}
#demo {
width: 400px;
height: 400px;
background-color: red;
display: none;
}
</style>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
//编写jquery代码
$("button").eq(0).click(function(){
$("#demo").fadeIn(1000)
})
$("button").eq(1).click(function(){
$("#demo").fadeOut(1000)
})
$("button").eq(2).click(function(){
$("#demo").fadeToggle(1000)
})
$("button").eq(3).click(function(){
$("#demo").fadeTo(1000, 0.5)
})
})
</script>
</head>
<body>
<button>淡入</button>
<button>淡出</button>
<button>切换</button>
<button>淡入到</button>
<div id="demo">
</div>
</body>
</html>
弹窗广告demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}
#demo {
/* border: 1px solid #FF0000;
width: 380px;
height: 200px; */
position: fixed;
right: 0;
bottom: 0;
display: none;
}
#demo>span {
display: block;
width: 30px;
height: 30px;
position: absolute;
right: 0;
top: 0;
/* background-color: red; */
}
</style>
<script type="text/javascript">
$(function(){
//编写jquery代码
$("span").click(function(){
$("#demo").fadeOut(1000);
})
$("#demo").stop().slideDown(1000).fadeOut(1000).fadeIn(1000);
})
</script>
</head>
<body>
<div id="demo">
<img src="img/3.png" />
<span></span>
</div>
</body>
</html>
自定义动画
animate({}, 1000, swing, function(){})
可以有四个参数
第一个参数接受一个对象,对象中传递属性
第二个参数传递时长
第三个参数指定动画节奏:linear(快慢交替),swing(匀速)
第四个参数传递一个执行结束以后的函数
注:对象中可以累加,可以传递关键字(比如show,hide,toggle)
stop方法和delay方法
delay()方法可以延迟动画
stop()方法传参有以下几点:
立即停止当前动画,继续执行后续的动画
$("div").stop();
$("div").stop(false);
$ ("div").stop(false, false) ;
立即停止当前和后续所有的动画
$("div").stop(true);
$("div").stop(true,false);
立即完成当前的,继续执行后续动画
$("div").stop(false,true);
立即完成当前的,并且停止后续所有的
$("div").stop(true, true);
添加节点相关方法
append():添加节点到元素内部最后
prepend():添加节点到元素内部之前
after():添加节点到元素外部之后
before():添加节点到元素外部之前
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
//编写jquery代码
var $li = $("<li>我是新增的li</li>");
$("button").click(function(){
$("ul").append($li);
// $("ul").prepend($li);
// $("ul").after($li);
// $("ul").before($li);
});
})
</script>
</head>
<body>
<button type="button">新增节点</button>
<ul>
<li>第一个li</li>
<li>第二个li</li>
</ul>
</body>
</html>
删除节点相关方法
remove():删除指定元素
empty():删除指定元素的内容,指定元素的标签不会受到影响
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function() {
//编写jquery代码
$("button").click(function(){
// $("li").remove(".demo");
$("p").empty();
});
})
</script>
</head>
<body>
<button type="button">删除节点</button>
<ul>
<li class="demo">我是第2个li</li>
<li>我是第1个li</li>
<li class="demo">我是第3个li</li>
<li>我是第4个li</li>
<li>我是第5个li</li>
</ul>
<div>
<p>我是一个段落</p>
</div>
</body>
</html>
替换节点相关方法
replaceWith()
复制节点相关方法
clone(false):浅复制,复制标签但不复制事件
clone(true):深复制,复制标签同时也复制事件
注:要配合append()方法一起进行调用
注:该篇博客为自己视频学习时记录下的笔记,部分内容来源于学习视频