1 上滑动/下滑动/滑动切换
(1) 上滑动/下滑动/滑动切换 语法规范
slideDown([speed, [easing], [fn]]) // 下滑动
slideUp([speed, [easing], [fn]]) // 上滑动
slideToggle([speed, [easing], [fn]]) // 滑动切换
(2) 上滑动/下滑动/滑动切换 参数
- 参数都可以省略,无动画直接显示
- speed:三种预定速度之一的字符串(“slow”, “normal”, or “fast”) 或表示动画时长的毫秒数值(如: 1000)
- easing:(Optional)用来指定切换效果,默认是 “swing”,可用参数 “linear”
- fn:回调函数,在动画完成时执行的函数,每个元素执行一次
2 事件切换
hover([over,] out)
over:鼠标移到元素上要触发的函数(相当于 mouseenter/mouseover)
out:鼠标移出元素要触发的函数(相当于 mouseleave/mouseout)
例子:
HTML:
<ul class="nav">
<li>
<a href="#">消息</a>
<ul>
<li>
<a href="">私信</a>
</li>
<li>
<a href="">评论</a>
</li>
<li>
<a href="">@我</a>
</li>
</ul>
</li>
<li>
<a href="#">消息</a>
<ul>
<li>
<a href="">私信</a>
</li>
<li>
<a href="">评论</a>
</li>
<li>
<a href="">@我</a>
</li>
</ul>
</li>
<li>
<a href="#">消息</a>
<ul>
<li>
<a href="">私信</a>
</li>
<li>
<a href="">评论</a>
</li>
<li>
<a href="">@我</a>
</li>
</ul>
</li>
</ul>
CSS:
{
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
a {
text-decoration: none;
font-size: 14px;
}
.nav {
margin: 100px;
}
.nav>li {
position: relative;
float: left;
width: 80px;
height: 41px;
text-align: center;
}
.nav li a {
display: block;
width: 100%;
height: 100%;
line-height: 41px;
color: #333;
}
.nav>li>a:hover {
background-color: #eee;
}
.nav ul {
display: none;
position: absolute;
top: 41px;
left: 0;
width: 100%;
border-left: 1px solid #FECC5B;
border-right: 1px solid #FECC5B;
}
.nav ul li {
border-bottom: 1px solid #FECC5B;
}
.nav ul li a:hover {
background-color: #FFF5DA;
}
JS:
滑动效果
<script>
$(function() {
$(".nav>li").mouseover(function() {
// $(this) 当前元素
// 下滑动显示
$(this).children("ul").slideDown();
});
$(".nav>li").mouseout(function() {
// 上滑动隐藏
$(this).children("ul").slideUp();
})
</script>
事件切换 方法一:
<script>
$(function() {
// 事件切换 hover 就是鼠标经过和离开的复合写法
// 第一个函数是鼠标经过,第二个函数是鼠标离开
$(".nav>li").hover(function() {
$(this).children("ul").slideDown();
}, function() {
$(this).children("ul").slideUp();
})
})
</script>
事件切换 方法二:
<script>
$(function() {
// 事件切换 hover 如果只写一个函数,那么鼠标经过和鼠标离开都会触发这个事件
$(".nav>li").hover(function() {
// stop() 必须写在动画之前,相当于停止上一次的动画
$(this).children("ul").stop().slideToggle();
})
})
</script>
版权声明:本文为weixin_46704556原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。