写在前面

使用jQuery简直不要太舒服啊,有人说jQuery过时了,没必要学。但是,你不学你就一直是过时的,过时的技术你都不学都不了解何谈新型技术?不要好高骛远,一步一步的来吧,很多事情都是水到渠成的,急不得。好好加油鸭!

今天学习了,jQuery效果。主要是让元素实现显示隐藏、上拉下拉、淡入淡出的这些动态效果,反正都是一些jQuery对象方法的使用,很好用的。先来梳理知识点吧。

 

jQuery效果

再开始之前,先补充一个小的知识点 —— 动画排队

防止动画或效果排队现象,就是做了一个动画,如果频繁的去触发多个元素同一个事件,动画效果会排队实现,一个动画完成后才会执行下一个,知道执行完所有触发的动画。举个例子:给每5张图片添加鼠标滑过时实现下拉滑动的效果,当鼠标从第一张快速滑到最后一张时,动画会依次执行,鼠标都滑过完毕了,图片下拉效果还没有完成,并不是按照我们鼠标经过时立马执行。这就是动画排队效果。为了避免这样的bug,我们都会在动画前让他停止动画排队——stop()。

下面所有的方法都有统一相同的三个参数

a [speed]:显示和隐藏的速度( 时间)slow、normal、 fast 也可以设置数字时间(ms)

b [easing]:时间的快慢  "linear" 和 "swing  一般不设置 使用默认值swipe

c [fn]:回调函数,在动画完成时执行的函数

 

html的jquery动画放大 jquery实现动画效果_jQuery效果

1. 显示、隐藏、切换显示隐藏

hide()   显示元素

show()   隐藏元素

toggle()  切换元素显示和隐藏的状态

这三个方法一般不用参数,直接调用即可。

<section>
        <button class="show">显示</button>
        <button class="hide">隐藏</button>
        <button class="toggle">切换</button>
        <div class="div1">div1</div>
    </section>
$(".show").click(function () {
                $(".div1").show();
            });
            $(".hide").click(function () {
                $(".div1").hide();
            });
            $(".toggle").click(function () {
                $(".div1").stop().toggle();
            });

2. 下拉滑动、上拉滑动、切换滑动

slideDown()  下拉滑动

slidUp()  上拉滑动

slideToggle() 切换滑动

这三个通常会设置speed的值,就是设置动画下拉上拉的时间。

<section>
        <button class="slidedown">下拉</button>
        <button class="slideup">上拉</button>
        <button class="slidetoggle">切换</button>
        <div class="div3">div3</div>
    </section>
$(".slidedown").click(function () {
                $(".div3").stop().slideDown(2000);
            });
            $(".slideup").click(function () {
                $(".div3").stop().slideUp(2000);
            });
            $(".slidetoggle").click(function () {
                $(".div3").stop().slideToggle(2000);
            });

3. 淡入、淡出、切换效果、设置透明度

fadeIn()  淡入效果

fadeOut()  淡出效果

fadeToggle() 切换效果

fadeTo(speed,opacity)    设置透明度:这里多了一个opacity的参数,  speed 和opacity这俩参数必须写

常用的参数依然是speed

<section>
        <button class="fadein">淡入</button>
        <button class="fadeout">淡出</button>
        <button class="fadetoggle">切换</button>
        <button class="fadeto">更改透明度</button>
        <div class="div2">div2</div>
    </section>
$(".fadein").click(function () {
                $(".div2").stop().fadeIn(1000); // 1s完成淡入效果
            });
            $(".fadeout").click(function () {
                $(".div2").stop().fadeOut(1000);
            });
            $(".fadetoggle").click(function () {
                $(".div2").stop().fadeToggle(1000);
            });
            // fadeTo()多了一个opacity的参数  speed 和opacity这俩参数必须写
            $(".fadeto").click(function () {
                $(".div2").stop().fadeTo(1000, 0.5); // 1s内透明度为一半
            });

4. 自定义效果 —— 动画效果

animate() 动画

多了一个params参数:一组包含作为动画属性和终值的样式属性和及其值的集合。

简单来说就是:用对象的形式存储数据

<section>
        <button class="jquery-animate1">点击移动200</button>
        <button class="jquery-animate2">回原位</button>
        <div class="ja">动画移动</div>
    </section>
$(".jquery-animate1").click(function () {
                $(".ja").stop().animate({
                    left: 200
                }, 500)
            })
            $(".jquery-animate2").click(function () {
                $(".ja").stop().animate({
                    left: 0
                }, 500)
            })

 

上面小案例的效果图哈。

html的jquery动画放大 jquery实现动画效果_高亮突出显示_02

 

效果实际应用 —— 高亮显示

当鼠标经过图片时,突出高亮显示。

效果如下:

html的jquery动画放大 jquery实现动画效果_高亮突出显示_03

核心:用fadeTo()方法设置元素透明度。

你万万想不到的是,我们只用写两行jQuery代码就能实现。

$(function () {
            // 鼠标经过时,图片高亮显示
            $(".wrap li").mouseenter(function () {
                $(this).stop().fadeTo(100, 1).siblings("li").stop().fadeTo(100, 0.5);
            })
        })

结构、样式

<style>
        body {
            background-color: #000;
        }

        .wrap {
            margin: 100px auto 0;
            width: 630px;
            padding: 10px 0 0 10px;
            background: #000;
            overflow: hidden;
            border: 1px solid #fff;
        }

        .wrap ul {
            margin: 0;
            padding: 0;
            list-style: none;
            overflow: hidden;
        }

        .wrap li {
            float: left;
            margin: 0 10px 10px 0;
        }

        .img {
            display: block;
            border: 0;
        }
    </style>

<div class="wrap">
        <ul>
            <li>
                <a href="javascript:;">
                    <img src="images/01.jpg" alt="">
                </a>
            </li>
            <li>
                <a href="javascript:;">
                    <img src="images/02.jpg" alt="">
                </a>
            </li>
            <li>
                <a href="javascript:;">
                    <img src="images/03.jpg" alt="">
                </a>
            </li>
            <li>
                <a href="javascript:;">
                    <img src="images/04.jpg" alt="">
                </a>
            </li>
            <li>
                <a href="javascript:;">
                    <img src="images/05.jpg" alt="">
                </a>
            </li>
            <li>
                <a href="javascript:;">
                    <img src="images/06.jpg" alt="">
                </a>
            </li>
        </ul>
    </div>

 

 

 

ok,今天就结束拉。

明天又是美好的一天,树叶都长大了。