JQ第一天

2018-10-22  本文已影响0人  knot98

JQ初级

一、认识jQuery

1、什么是jQuery

2、jQuery的优势

二、jQuery的安装

1、版本

2、安装jQuery-3.3.1

官网下载

<script src="js/jquery-3.3.1.js"></script>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    // user code
</script>

CDN

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    // user code
</script>

三、jQuery基本使用

1、JQuery对象

2、页面加载

<img src="http://onehdwallpaper.com/wp-content/uploads/2015/11/Most-Beautiful-Girl-in-Flowers-Field.jpg"/>
<script>
    window.onload = function() {
        console.log("window load 1");
    };
    window.onload = function() {
        console.log("window load 2");
    };
    $(document).ready(function() {
        console.log("document load 1");
    });
    $(function() {
        console.log("document load 3");
    });
</script>
// window.onload=fn单事件绑定,页面DOM树与资源完全加载完毕
// $(document).ready(fn)多事件绑定,页面DOM树加载完毕,简写$(fn)

3、jQuery变量命名规范

四、功能概括

1、选择器

var $ele = $('.ele');

2、文本操作

$ele.text("添加文本");

3、样式操作

$ele.css({width: '200px', heigth: '200px'});
$ele.css('background-color', 'red').css('border-radius', '50%');

4、类名操作

$ele.toggleClass('active');

5、事件操作

$ele.on('click', function() {});

6、动画操作

$ele.slideUp();

7、文档操作

$ele.append("<b>Hello</b>");

五、JQ对象与JS对象

六、Ajax

from flask import Flask, request
from flask_cors import CORS
app = Flask(__name__)
CORS(app, supports_credentials=True)

def test_action():
    usr = request.args['usr']
    ps = request.args['ps']
    if usr != 'zero' or ps != '123456':
        return 'login failed'
    return 'login success'

if __name__ == '__main__':
    app.run()
    
// 安装Flask及Fllask-Cors包
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    $.ajax({
        url: "http://127.0.0.1:5000/testAction",
        data: {
            usr: "zero",
            ps: "123456"
        },
        success: function (data) {
            console.log(data);
        }
    });
</script>

七、轮播图

<style type="text/css">
    .wrap {
        width: 300px;
        height: 200px;
        border: 1px solid black;
        overflow: hidden;
        position: relative;
    }
        
    ul {
        width: 1200px;
        height: 200px;
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        left: 0;
    }
        
    li {
        width: 300px;
        height: 200px;
        float: left;
        font: bold 100px/200px arial;
        text-align: center;
        color: white;
    }
</style>
<div class="wrap">
    <ul>
        <li style="background:red;">1</li>
        <li style="background:orange;">2</li>
        <li style="background:pink;">3</li>
        <li style="background:cyan;">4</li>
    </ul>
</div>
<div>
    <input type="button" value="图1" />
    <input type="button" value="图2" />
    <input type="button" value="图3" />
    <input type="button" value="图4" />
</div>
<script src="js/jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    $('input').click(function() {
        $('ul').animate({
            'left': -$(this).index() * $('li').width()
        }, 500);
    })
</script>

上课代码:

页面加载:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>页面加载</title>

    <!-- 导入jq -->
    <script src="js/jquery-3.3.1.js"></script>

    <script type="text/javascript">
        // js页面加载完毕后,触发的事件回调方法
        window.onload = function () {
            console.log("window load 1");
        }
        window.onload = function () {
            console.log("window load 2");  // 5
            var div = document.querySelector('.div');
            console.log(div);
        }
        // 只能绑定一个(逻辑下方的)回调函数
        // 页面加载完毕后回调

        // jq文档加载完毕
        $(document).ready(function () {
            console.log('document load 1');  // 2
        })
        $(document).ready(function () {
            console.log('document load 2');  // 3
        })
        // 简写
        $(function () {
            console.log('document load 3');  // 4
        })

        console.log('normal load');  // 1

    </script>

</head>
<body>
    <div class="div"></div>
    <img src="http://onehdwallpaper.com/wp-content/uploads/2015/11/Most-Beautiful-Girl-in-Flowers-Field.jpg"/>
</body>
</html>

jq功能汇总:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>jq功能汇总</title>
    <style type="text/css">
        .active {
            border: 5px solid black;
        }
        p {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <button class="b1">d1</button><button class="b2">d2</button>
    <div id="d1" class="div1"></div>
    <div id="d2" class="div2"></div>
</body>
<!-- 导入jq -->
<script src="js/jquery-3.3.1.js"></script>
<!-- jq -->
<script type="text/javascript">
    // 变量的命名规范:
    // jq变量一般由$开头

    // 1.jq的选择器: 满足css选择器语法
    // var $div = $('.div1');
    var $div = $('body #d1');
    console.log($div);

    // 2.文本操作
    $div.text("d1 d1 d1");
    $div.html("<b>d1 d1 d1</b>");

    // 3.样式操作
    $div.css({
        width: "200px",
        "border-radius": "50%"
    });

    // jq的方法基本都具有返回值,所以支持(建议)链式操作
    /*
    $div = $div.css("height", function () {
        console.log("js>>>", this);  // js的this本身
        console.log("jq>>>", $(this));  // jq的this本身
        console.log(">>>", $(this).width());  // jq对象指向的盒子宽度
        return $(this).width() * 2;  // jq会默认添加单位
    });
    $div.css("background-color", "red");
    */

    $div.css("height", function () {
        console.log("js>>>", this);  // js的this本身
        console.log("jq>>>", $(this));  // jq的this本身
        console.log(">>>", $(this).width());  // jq对象指向的盒子宽度
        return $(this).width() * 2;  // jq会默认添加单位
    }).css("background-color", "red");

    // 4.类名操作
    $('.b1').click(function () {
        $div.toggleClass("active");
    })

    // 5.事件操作
    $div.on('click', function () {
        console.log("$div 被点击了");
    })

    // 6.动画操作
    $('.b1').on('click', function () {
        $div.slideToggle();
    })

    // 7.文档操作
    // 创建标签
    var $p = $("<p></p>");
    // 样式操作
    $p.addClass("p");
    // 添加到页面
    $div.append($p);


</script>
<!-- js -->
<script type="text/javascript">
    // 1.选择器
    var div = document.querySelector('.div2');
    console.log(div);
    // 2.文本操作
    div.innerText = "d2 d2 d2";
    div.innerHTML = "<b>d2 d2 d2</b>";
    // 3.样式操作
    div.style.width = "200px";
    div.style.height = "200px";
    div.style.background = "orange";
    div.style.borderRadius = "50%";

    // 4.类名操作
    var b2 = document.querySelector('.b2');
    b2.onclick = function () {
        var c_name = div.className;
        if (c_name.match("active")) {
            div.className = c_name.replace(" active", "")
        } else {
            div.className += " active";
        }
    }
</script>
</html>

js与jq对象相互转化:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>对象转化</title>
    <style type="text/css">
        .div {
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div></div>
</body>
<script src="js/jquery-3.3.1.js"></script>
<script type="text/javascript">
    var $div = $('div');
    // jq => js
    // innerText
    var div = $div[0];
    div.innerText = "呵呵";

    // js => jq
    // addClass
    var $n_div = $(div);
    $n_div.addClass("div");
</script>
</html>

AJAX

client_ajax.html 代码:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>ajax</title>
</head>
<body>
    <h1>登录</h1>
    <hr>
    <form action="">
        <label>账号:</label><input class="txt" type="text" name='usr'>
        <hr>
        <label>密码:</label><input class="ps" type="password" name="ps">
        <hr>
        <button type="submit">登录</button>
    </form>
    
</body>
<script src="js/jquery-3.3.1.js"></script>
<script type="text/javascript">
    // 如果登录成功,h1显示登录成功
    // 如何登录失败,h1显示登录失败

    $("form").on("submit", function () {
        console.log(123);
        var usr = $('.txt').val();
        var ps = $('.ps').val();
        console.log(usr, ps);
        // 将数据提交给后台 => ajax

        $.ajax({
            url: "http://127.0.0.1:5000/loginAction",
            data: {
                usr: usr,
                ps: ps  
            },
            success: function (data) {
                $('h1').text(data);
            }
        })

        return false;
    });

</script>
</html>

server.py 代码:

from flask import Flask, request
from flask_cors import CORS

# 服务器对象
app = Flask(__name__)

# 解决跨域
CORS(app, supports_credentials=True)

# 定义接口事件
@app.route('/loginAction', methods=["GET", "POST"])
def login_action():
    print(request.args)
    usr = request.args['usr']
    ps = request.args['ps']
    if usr == "abc" and ps == "123":
        return "登录成功"
    return "登录失败"

# 启动服务
if __name__ == '__main__':
    app.run()
上一篇下一篇

猜你喜欢

热点阅读