JQuery框架:介绍、安装、选择器、属性操作、动画

时间:2019-06-23 22:56:04   收藏:0   阅读:163

jQuery

详细内容

1.JQuery介绍

2.JQuery的下载安装

3.JQuery的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="box" class="box">
        <p class="active">xjk1</p>
        <p class="active">xjk2</p>
        <input type="text">
    </div>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        console.log($('.box'));//获取jquery对象
    </script>
</body>
</html>
//jQuery.fn.init?[div#box.box, prevObject: jQuery.fn.init(1)] 是一个伪数组

1.对象的转换

//jquery对象转js节点对象
console.log($('#box')[0]);//jquery对象转换js节点对象,索引方式
//js对象转jquery对象
var box = document.getElementById('box');
console.log($(box));
console.log($('#box .active'));//打印出符合id=box,底下class=active所有jquery对象。
$('#box .active').click(function(){//点击获取事件
    console.log(this);//this 指的是此时的p签及其内容。
})

4.jQuery的选择器

1.基本选择器

$('#box').css('color','red');
$('.box').css('color','red');
$('p').css('color','blue');
$('*').css({'outline':0,'border':0});//去除所有外框。

2.层级选择器

技术图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <span>span标签1</span>
        <p>p标签</p>
        <span>
            <span>span标签2</span>
        </span>
        <div>
            <span>span标签3</span>
        </div>
    </div>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        $("div span").css('color','red');//所有div 下的span标签字体颜色都成为红色
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <span>span标签1</span>
        <p>p标签</p>
        <span>
            <span>span标签2</span>
        </span>
        <div>
            <p><span>span标签3</span></p>
        </div>
    </div>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        $('div>span').css('color','red');//div下的所有span标签 字体都变红色
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <p>p标签</p>
        <span>
            <div>span标签2</div>
            <div>span标签3</div>
            <div>span标签4</div>
        </span>
    </div>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        $('p+span').css('color','red');//p签紧挨着的span签的子标签内容
    </script>
</body>
</html>
//span标签2  span标签3  span标签4 都变红

3.基本过滤器

技术图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <ul>
        <li class="a">
            <a href="#">caocao</a>
        </li>
        <li class="b">liubei</li>
        <li class="c">sunquan</li>
        <li class="d">guanyu</li>
    </ul>


    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        // console.log($('ul li:eq(1)'));//获得索引为1的元素
        // $('ul li:eq(1)').css('color','red');//改变索引为1的元素的颜色

        // console.log($('ul li:lt(3)'));//从0开始获取索引小于3的元素。是伪数组
        // $('ul li:odd').css('color','red');//更改索引为奇数的文本颜色
        $('ul li a:first').css('color','yellow');//第一个匹配元素更改颜色
        $('ul li:last').css('color','grey');//更改最后一个元素的颜色
    </script>
</body>
</html>

4.属性选择器

技术图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="nihao" class="a">href为nihao</a>

    <a href="" class="b">href为空</a>
    <a class="c">不包括href的a签</a>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        // console.log($('a[href]'));//选择包含href属性元素

        // console.log($("a[href='nihao']"));//选择href='nihao'的元素

        console.log($("a[href!='baidu']"));//选择href!='baidu'的元素
    </script>
</body>
</html>

5.筛选选择器

技术图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <ul>
        <li class="out1">1
            <ul>
                <li class="inner1">内1</li>
                <li class="inner2">内2</li>
                <li class="inner3">内3</li>
            </ul>
        </li>
        <li class="out2">2</li>
        <li class="out3">3</li>
    </ul>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        // console.log($('ul').find('li'));//查找ul下所有li标签,后代
        // console.log($('.out1').children('ul'));//查找class=out1 的子标签ul
        console.log($('ul').parent());//查找ul标签的父标签
    </script>
</body>
</html>
console.log(document);//获取文档
console.log(document.body);//获取body
console.log(document.documentElement);//获取html

6.选项卡案例JavaScript对比JQuery

//此为JavaScript实现
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            button.active{
                color: red;
            }
            p{
                display: none;
            }
            p.active{
                display: block;
            }
        </style>
    </head>
    <body>
        <button class="active">热门</button>
        <button>电视影音</button>
        <button>电脑</button>
        <button>家具</button>
        <p class="active">热门</p>
        <p>电视影音</p>
        <p>电脑</p>
        <p>家具</p>
        <script type="text/javascript">
            // 1.获取标签
            var btns = document.getElementsByTagName('button');
            var ops = document.getElementsByTagName('p');
            
            //2.给每个标签绑定点击事件
            //ES6可以用let定义块级作用域变量
            for(let i = 0;i < btns.length; i++){
                btns[i].onclick = function (){//排他思想
                    for(var j = 0; j < btns.length; j++){
                        btns[j].className = '';
                        ops[j].className = '';
                    }
                    //改变button的样式
                    this.className = 'active';
                    //改变p标签的样式
                    ops[i].className = 'active';
                }
            }
        </script>
    </body>
</html>
//JQuery实现选项卡
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            button.active{
                color: red;
            }
            p{
                display: none;
            }
            p.active{
                display: block;
            }
        </style>
    </head>
    <body>
        <button class="active">热门</button>
        <button>电视影音</button>
        <button>电脑</button>
        <button>家具</button>
        <p class="active">家电</p>
        <p>电视影音</p>
        <p>电脑</p>
        <p>家具</p>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            $('button').click(function(){
                // 链式编程
                //第二个按钮 索引1
                console.log($(this).addClass('active'));
                $(this).addClass('active').siblings('button').removeClass('active');
                // 获取当前点击的元素的索引
                console.log($(this).index());
                $('p').eq($(this).index()).addClass('active').siblings('p').removeClass('active');
            })
        </script>
    </body>
</html>

5.JQuery的属性操作

1. attr()
2.removeAttr()
3.prop()
4. addclass(添加多个类)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        li.temp{
            color:red;
        }
    </style>
</head>
<body>
    <ul type="none">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
    <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
    <script>
        $('li').addClass('temp');//为每个li标签添加class='temp'
    </script>
</body>
</html>
5. removeClass()
6.toggleClass
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <span>123</span>
    <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
    <script>
        //span标签没有class属性,点击之后span标签添加class='active'
        $('span').click(function(){
            $(this).toggleClass('active');
        })
    </script>
</body>
</html>
7.html
8.text

技术图片

9.val

6.动画

1.显示动画

2.隐藏动画

$(div).hide();
$(div).hide(1000);
$(div).hide('slow');
$(div).hide(1000,function())

3.实现点击按钮显示盒子,再点击按钮隐藏盒子

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            //css设置盒子宽高,背景色,display默认不显示
            #box{
                width: 200px;
                height: 200px;
                background-color: red;
                display: none;
            }
        </style>
    </head>
    <body>
        <button id="btn">显示</button>
        <div id="box"></div>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            //点击鼠标获取事件
            $('#btn').click(function(){
                if ($(this).text() === '显示'){
                    //动画显示盒子
                    $('#box').show(1000,function () {
                        //将按键文档字改为‘隐藏’
                        $('#btn').text('隐藏');
                    });
                }else{
                    //动画隐藏盒子
                    $('#box').hide(1000,function () {
                        //将按键文档字改为‘显示’
                        $('#btn').text('显示');
                    });
                }
            })
        </script>
    </body>
</html>

4.开关方式显示隐藏动画

$('#btn').click(function(){
            $('#box').toggle(3000,function(){
                $(this).text('盒子出来了');
                if ($('#btn').text()=='隐藏') {
                    $('#btn').text('显示');
                }else{
                    $('#btn').text('隐藏');
                }
            });
        })

5.滑入和滑出

6.淡入淡出动画

6.自定义动画

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        div {
            position: absolute;
            left: 20px;
            top: 30px;
            width: 100px;
            height: 100px;
            background-color: green;
        }
    </style>
    <script src="js/jquery.js"></script>
    <script>
        jQuery(function () {
            $("button").click(function () {
                var json = {"width": 500, "height": 500, "left": 300, "top": 300, "border-radius": 100};
                var json2 = {
                    "width": 100,
                    "height": 100,
                    "left": 100,
                    "top": 100,
                    "border-radius": 100,
                    "background-color": "red"
                };

                //自定义动画
                $("div").animate(json, 1000, function () {
                    $("div").animate(json2, 1000, function () {
                        alert("动画执行完毕!");
                    });
                });

            })
        })
    </script>
</head>
<body>
<button>自定义动画</button>
<div></div>
</body>
</html>
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!