分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

jQuery相关知识

发布时间:2023-09-06 02:27责任编辑:蔡小小关键词:jQuery

jQuery Basic Knowledge

一、认识jQuery

1、什么是jQuery

  • jQuery是对原生JavaScript二次封装的工具函数集合

  • jQuery是一个简洁高效的且功能丰富的JavaScript工具库

2、jQuery的优势

  • 完全开源的源代码

  • 强大简洁的选择器

  • 事件、样式、动画的良好支持

  • 链式表达式

  • 简化的Ajax操作

  • 跨浏览器兼容

  • 丰富的插件及对外的扩展接口

3、JavaScript和jquery的区别

  • Javascript是一门编程语言,我们用它来编写客户端浏览器脚本

  • jQuery是javascript的一个库,包含多个可重用的函数,用来辅助我们简化

  • javascript开发jQuery能做的javascipt都能做到,而javascript能做的事情,jQuery不一定能做到

注意:一般情况下,是库的文件,该库中都会抛出来构造函数或者对象,如果是构造函数,那么使用new关键字创建对象,如果是对象直接调用属性和方法

二、jQuery的安装

1、版本

  • 开发(development)版本:jQuery-x.x.x.js (程序员用 可以直接看见源码)

  • 生产(production)版本:jQuery-x.x.x.min.js (去除了空格换行 压缩版 外界无法直接访问源码)

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对象

  • jQuery对象:具有jquery框架设置的所有功能的调用者,就是该框架产生的唯一对象

  • $是什么? 就是jQuery对象,jQuery对象为window的全局属性,所以可以直接使用

  • jQuery.noConflict() :自定义jQuery对象,如用JQ替换jQuery | $

  • var JQ = jQuery.noConflict();

  • JQ(‘.box‘).html("<b>嘿嘿</b>");

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树与资源完全加载完毕// jq的延迟加载: 文档树加载完毕, 即回调// $(document).ready(fn)多数据绑定,页面DOM树加载完毕,简写$(fn)// 1. 早于window.onload// 2. 可以多次绑定事件// 3. 可以简写为$(function() {})

3、jQuery变量命名规范

  • 通常以$开头

四、功能概括

1、选择器

var $ele = $(‘.ele‘);// $(css选择器语法)// eg: $(‘.box‘) 得到的是一个存放原生js对象的数组, 就是jq对象, 页面中有多少个.box, 该jq对象就承载者多少个对象,. 可以作为一个整体来使用

2、文本操作

$ele.text("添加文本");// 获取原有文本$box.text() | $box.html()// 设置新文本$box.text(‘newData‘) | $box.html(‘<b>newData</b>‘)

3、样式操作

$ele.css({width: ‘200px‘, heigth: ‘200px‘});$ele.css(‘background-color‘, ‘red‘).css(‘border-radius‘, ‘50%‘);$box.css(‘background-color‘) ?// 获取背景颜色$box.css(‘background-color‘, ‘red‘) ?// 设置背景颜色$box.css(‘background-color‘, function() {return ‘yellow‘}) ?// 通过函数返回值设置背景颜色

4、类名操作

$ele.toggleClass(‘active‘);$box.addClass("newClass") // 添加一个新类名$box.removeClass("oldClass") // 删除一个已有的类名// 多类名时,jq操作类名将每个类名最为单一考虑对象,不会影响其他类名

5、事件操作

$ele.on(‘click‘, function() {});// $box为jq对象$box.click(function(ev) { ???})// 注: jq对象如果包含多个页面元素对象, 可以一次性对所有对象绑定该事件// ev事件为jq事件, 兼容js事件// this为js对象, $(this)就转换为jq对象// 内部可以通过$(this).index()获取自身在当前结构下的索引(从0开始)

6、动画操作

$ele.slideUp();

7、文档操作与文档结构关系

$ele.append("<b>Hello</b>");// 父$sup.parent()// 父,父的父...$sup.parents()// 子们$sup.children() *****// 上兄弟$sup.prev() ?***// 上兄弟们$sup.prevAll()// 下兄弟$sup.next() ?***// 下兄弟们$sup.nextAll()// 同级别的兄弟们$sup.siblings() ?***// 在sup下查找类名为inner的子级$sup.children(‘.inner‘)// 获得的结果都是jq对象, 还可以接着使用jq方法

五、JQ对象与JS对象

// js对象: box ?jq对象: $box// 将js对象转换为jq对象: $(box)// 将jq对象转换为js对象: $box[index]//第一种方式:$(‘box‘)[0]//第二种方式:$(‘box‘).get(0)

六、Ajax

  • server.py

from flask import Flask, requestfrom flask_cors import CORSapp = 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及Flask-Cors包
  • client.html

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

七、轮播图

  • 简易jQuery版

<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>
View Code
  • swiper的使用

// 轮播图框架

未完待续

 

 

 

jQuery相关知识

原文地址:https://www.cnblogs.com/wanlei/p/10181914.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved