美文网首页web进阶JavaScript相关文章
web进阶之二十六:JQuery的一些效果实现

web进阶之二十六:JQuery的一些效果实现

作者: 甚得朕心 | 来源:发表于2018-09-25 23:50 被阅读1次

    jquery属性操作

    • html() 取出或设置html内容
    • text() 取出或设置text内容
    • attr() 取出或设置某个属性的值
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jQuery属性操作</title>
        <style type="text/css">
            
        </style>
        <script type="text/javascript" src="../../../jq/jquery-1.12.4.min.js"></script>
        <script type="text/javascript">
            $(function(){
                /*
                alert($('.box').html());//这是一个div元素
                $('.box').html('<a href="http://www.baidu.com">百度网</a>');
                */
    
                /*
                读写值为布尔类型的属性用prop方法
                读写值为非布尔类型的属性用attr方法
                */
    
                /*
                $('.box').attr({title:'这是一个div!'});//写入title属性,并赋值
                alert($('.box').attr('class'));//读属性class的值,弹出box
                */
    
                /*
                var $src = $('#img1').attr('src');
                alert($src);//img/1.png 会弹出图片的路径
    
                $('#img1').attr({
                    src:'img/2.gif',
                    alt:'图片二'
                });
                */
    
                /*
                alert($('#check').prop('checked'));//选中为true,非选中为false
                $('#check').prop({checked:true});//设置默认勾选
                */
    
                // alert($('.box2').html());//<span>这是div元素内的span</span>
                alert($('.box2').text());//这是div元素内的span
            })
        </script>
    </head>
    <body>
        <div class="box">这是一个div元素</div>
    
        <img id="img1" src="img/1.png" alt="一张图片">
    
        <input type="checkbox" id="check">多选
    
        <div class="box2">
            <span>这是div元素内的span</span>
        </div>
    </body>
    </html>
    

    绑定click事件

    给元素绑定click事件,可以用如下方法:

    $('#btn1').click(function(){

    // 内部的this指的是原生对象
    
    // 使用jquery对象用 $(this)
    

    })

    特殊效果

    • fadeOut() 淡出
    • fadeToggle() 切换淡入淡出
    • hide() 隐藏元素
    • show() 显示元素
    • toggle() 依次展示或隐藏某个元素
    • slideDown() 向下展开
    • slideUp() 向上卷起
    • slideToggle() 依次展开或卷起某个元素
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jQuery特殊效果</title>
        <style type="text/css">
            .box{
                width: 200px;
                height: 200px;
                background-color: gold;
                display: none;
            }
        </style>
        <script type="text/javascript" src="../../../jq/jquery-1.12.4.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $('#btn').click(function(){
                    // $('.box').fadeOut();//淡出
                    $('.box').fadeIn();//淡入
                    // $('.box').fadeToggle();//切换淡入淡出
                    // $('.box').toggle();//切换显示隐藏
                    // $('.box').slideToggle();//切换上收和下展
                })
            })
        </script>
    </head>
    <body>
        <input type="button" name="" value="效果" id="btn">
        <div class="box"></div>
    </body>
    </html>
    

    jquery链式调用

      jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写:
    $('#div1') // id为div1的元素
    .children('ul') //该元素下面的ul子元素
    .slideDown('fast') //高度从零变到实际高度来显示ul元素
    .parent() //跳到ul的父元素,也就是id为div1的元素
    .siblings() //跳到div1元素平级的所有兄弟元素
    .children('ul') //这些兄弟元素中的ul子元素
    .slideUp('fast'); //高度实际高度变换到零来隐藏ul元素

    (.level1).click(function(){(this).next().slideDown().parent().siblings().
    children('ul').slideUp();
    })

    上面这个就是链式调用,即点击当前对象,使它下一个元素a展开,然后再从a返回点击的那个对象,然后再跳转到兄弟元素,使兄弟元素下面的ul元素隐藏起来。

    jquery动画

      通过animate方法可以设置元素某属性值上的动画,可以设置一个或多个属性值,动画执行完成后会执行一个函数。

    这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left.

    animate(params,[speed],[easing],[fn])

    • params:一组包含作为动画属性和终值的样式属性和及其值的集合
    • speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
    • easing:要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
    • fn:在动画完成时执行的函数,每个元素执行一次。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css3过度动画</title>
        <script type="text/javascript" src="D:/third/jq/jquery-1.12.4.min.js"></script>
        <style>
            .box{
                width: 200px;
                height: 200px;
                background-color: green;
                margin: 50px auto 0;
            }
        </style>
        <script>
            // $(function(){
            //  $('#left').click(function() {
            //      $('.box').animate({
            //          width: 100,
            //          height: 50}, 
            //          slow),
            //  });
            // })
            $(function(){
                $('#left').click(function() {
                    $('.box').animate({
                        width: 100,
                        height: 50,
                        marginLeft:100
                        },
                        'slow');
                });
                $("#right").click(function(){
                    $('.box').animate({
                        width: 200,
                        height: 200,
                        marginTop:500},
                        3000);
                })
            })
        </script>
    </head>
    <body>
        <input type="submit" value="left" id='left'>
        <input type="submit" value="right" id='right'>
        <div class="box"></div>
    </body>
    </html>
    

    JQuery的循环和实例

      每一门语言都会涉及到循环,之前我们也学习过for,while和do/while,那么到了jqurey的循环是什么呢?

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jQuery循环</title>
        <style type="text/css">
            
        </style>
        <script type="text/javascript" src='js/jquery-1.12.4.min.js'></script>
        <script type="text/javascript">
            $(function(){
                // //给全部的li设置内容和样式
                // $('.list li').html('111');//给全部的li加上111的内容
                // $('.list li').css({background:'gold'});//给所有的li都添加背景颜色
    
                //第一个参数index是索引值
                $('.list li').each(function(index) {
                    // alert(index);//弹出索引值
                    
                    //$(this)是每一个li
                    $(this).html(index);//给每一个元素插入下标
                });
            })
        </script>
    </head>
    <body>
        <ul class="list">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </body>
    </html>
    

    尺寸相关、滚动事件

    • 获取和设置元素的尺寸

    width()、height() 获取元素width和height
    innerWidth()、innerHeight() 包括padding的width和height
    outerWidth()、outerHeight() 包括padding和border的width和height
    outerWidth(true)、outerHeight(true) 包括padding和border以及margin的width和height

    • 获取和设置元素的尺寸

    offset()

    • 获取可视区高度

    $(window).height();

    • 获取页面高度

    $(document).height();

    • 获取页面滚动距离

    (document).scrollTop();(document).scrollLeft();

    • 页面滚动事件

    $(window).scroll(function(){
    ......


    随后会写一些相关的实例,这样能表现得更加明显点儿

    相关文章

      网友评论

        本文标题:web进阶之二十六:JQuery的一些效果实现

        本文链接:https://www.haomeiwen.com/subject/zliwnftx.html