jQuery滑动特效,自定义特效,名单小项目

滑动特效

项目 | Value -------- | ----- 电脑 | $1600 手机 | $12 导管 | $1
滑动特效
.slideUp()如果元素已经显示出来的话,通过使用滑动效果,隐藏被选元素
.slideDown()通过使用滑动效果,先是被隐藏的被选元素
.slideToggle()通过使用滑动效果来切换元素的可见状态

.slideUp()

括号里也可以写数字,表示效果持续时间
如果元素是显示的状态,这个方法会隐藏元素,用滑动的方式。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>动画特效</title>    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>    <style>        #box{                        width:200px;            height:200px;            background: rgb(218, 88, 88);        }    </style></head><body>    <div id="box"></div>    <button id="change">点我有特效</button>    <script>        $(function(){            $("#change").on('click',function(){                $("#box").slideUp(2000);                            })        });    </script></body></html>

效果不展示了。

.slideDown()方法
和上一个相反

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>动画特效</title>    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>    <style>        #box{            display: none;            width:200px;            height:200px;            background: rgb(218, 88, 88);        }    </style></head><body>    <div id="box"></div>    <button id="change">点我有特效</button>    <script>        $(function(){            $("#change").on('click',function(){                $("#box").slideDown(2000);                            })        });    </script></body></html>

.slideToggle()
切换

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>动画特效</title>    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>    <style>        #box{            display: none;            width:200px;            height:200px;            background: rgb(218, 88, 88);        }    </style></head><body>    <div id="box"></div>    <button id="change">点我有特效</button>    <script>        $(function(){            $("#change").on('click',function(){                $("#box").slideToggle(2000);                            })        });    </script></body></html>

自定义特效

自定义特效的原理就是改变css属性

.animate(properties[,duratior],[,easing],[,complete])

animate(自定义特效的方法)(必选)
properties(要更改的css样式)(必选)
duratior(持续时间,以毫秒为单位)
easing(这里可以写一个字符串参数,两种选择linear(表示动画速度是线性的),swing(动画开始和结束较慢,中间快))
complete(动画结束后需要调用的函数)

下面针对于properties做出笔记以及示例
css属性的选择和属性名的写法:
一般来说,只要这个属性值可以表现为数字就可以使用。比如:width height,opacity可以使用,font-family,text-align等就不行。使用驼峰法写属性名。
属性值:每个属性的值表示这个样式属性到多少时动画结束,属性值有三种形式,除了写数字,还可以写hide,show,toggle这样的字符串,也可以写一个相对值。如果你提供以+=或者- =开始的值,那么目标值就是当前数字加上或者减去那个值。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>动画特效</title>    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>    <style>        #box{            position: absolute;            opacity: 0.5;            width:100px;            height:100px;            background: rgb(104, 153, 196);        }    </style></head><body>    <button id="left"><<</button>    <button id="right">>></button>    <div id="box"></div>    <script>        $(function(){            // 点击<<键时向左移动50px,并把透明度设置为0.7            $("#left").on('click',function(){                $("#box").animate({                    left:'-=50',                    opacity:0.7                });            });            // 点击>>键时向右移动50px,并把透明度设置为0.3            $("#right").on('click',function(){                $("#box").animate({                    left:'+=50',                    opacity:0.3                });            });        });    </script></body></html>

这部分代码实现的就是一个方块两个按钮<<和>>,点击<<键时向左移动50px,并把透明度设置为0.7;点击>>键时向右移动50px,并把透明度设置为0.3 。
如果要写和位置有关的动画,要注意把position设置为relative或者fixed或者absolute。

下面对于后三个参数做出笔记与示例:
两个控制动画效果运行的方法
.delay(),延缓动画的运行
.stop(),终止动画的运行

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>动画特效</title>    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>    <style>        #box{                        background: rgb(163, 28, 216);        }    </style></head><body>    <button id="start">开始</button>    <button id="stop">停止</button>    <div id="box"></div>    <script>        $(function(){            // 点击开始按钮的时候,会延时1秒再开始动画            $("#start").on('click',function(){                $("#box").delay(1000).animate({                    width:"500px",                    height:"500px",                },5000,"linear",function(){                    $("#box").remove();                });                // 动画的持续时间是5秒,速度均匀,动画完成之后会被移除                // 如果你中途点击停止,动画会停止运行            });                        $("#stop").on('click',function(){                $("#box").stop();                });            });            </script></body></html>

一个小动画,点击按钮开始,点击停止按钮动画停止运行。
小项目之名单特效

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>特效demo</title>    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>    <style>        body{            font-size: 25px;        }        h2{            text-align: center;        }        li{            margin:5px auto;            line-height: 50px;            padding-left: 50px;            background-color: violet;            width:200px;            height: 50px;            border:1px solid black;            border-radius: 10px;            list-style: none;        }    </style></head><body>    <h2>name list</h2>    <ul>        <li>Annieka</li>        <li>Chalotte</li>        <li>Sophia</li>        <li>Tomcat</li>        <li>陈子怡</li>        <li>罗田琪</li>        <li>丁韵旎</li>        <li>lemon juice</li>    </ul>    <script>        $(function(){                        $("h2").hide().slideDown();            var $li=$("li");            $li.hide().each(function(index){                $(this).delay(700 * index).fadeIn(700);            });            // 参数index默认当前选择器的位置,也就是当前元素的编号            $li.on('click',function(){                $(this).fadeOut(700);            });        });    </script></body></html>

打开就是姓名的框框会淡入,点击其中的姓名就会淡出,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值