jQuery滑动效果与事件切换

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版权协议,转载请附上原文出处链接和本声明。