jQuery实现动态效果

写在前面

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

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

 

jQuery效果

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

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

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

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

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

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

 

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)
            })

 

上面小案例的效果图哈。

 

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

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

效果如下:

核心:用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,今天就结束拉。

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

 

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 jQuery 的 `setInterval` 方法来实现动态打字效果。具体实现步骤如下: 1. 在 HTML 中创建一个包含文本内容的元素,例如一个 `div` 元素。 2. 在 JavaScript 中使用 jQuery 选择该元素,并将要显示的文本内容保存到一个变量中。 3. 使用 jQuery 的 `text` 方法将该元素的文本内容清空。 4. 定义一个 `index` 变量,表示当前要显示的字符在文本内容中的位置,初始值为 0。 5. 使用 `setInterval` 方法循环执行一个函数,该函数每次将文本内容中的下一个字符添加到元素中,并将 `index` 变量加 1,直到显示完全部文本内容为止。 以下是示例代码: HTML: ```html <div id="text"></div> ``` JavaScript: ```javascript $(document).ready(function() { var text = "这是要显示的文本内容。"; var index = 0; var intervalId = setInterval(function() { if (index < text.length) { $('#text').text($('#text').text() + text[index]); index++; } else { clearInterval(intervalId); } }, 100); // 每隔 100 毫秒执行一次函数 }); ``` 在上面的示例代码中,`text` 变量保存要显示的文本内容,`index` 变量表示当前要显示的字符在文本内容中的位置,`intervalId` 变量保存 `setInterval` 方法返回的 ID,用于在显示完全部文本内容后停止循环执行函数。`setInterval` 方法每隔 100 毫秒执行一次函数,该函数每次将文本内容中的下一个字符添加到 `div` 元素中,并将 `index` 变量加 1,直到显示完全部文本内容为止。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值