二十四、python学习之前端(七):JQuery进阶
2018-09-30 17:20
519 查看
版权声明:浅弋、璃鱼的原创 https://blog.csdn.net/qq_35709559/article/details/82909970
一、jquery特殊效果:
1.特殊动画:
1.1 特殊动画函数:
a.无参直接隐藏/显示/切换,带参变成动画
函数 | 功能 |
hide() | 隐藏元素 |
show() | 显示元素 |
toggle() | 切换元素的可见状态; |
代码实例:
<script> $(function() { $("button").click(function() { // 1.show()/hide()/toggle(): // 显示隐藏,无参数时,默认显现; 参数为毫秒值,是显示/隐藏的速度 $("div").show(400); $("div").hide(400); $("div").toggle(400); }) }) </script>
b. 滑入滑出:无参使用默认值(默认400ms)
函数 | 功能 |
slideDown() | 向下展开 |
slideUp() | 向上卷起 |
slideToggle() | 依次展开或卷起某个元素 |
代码实例:
<script> $(function() { $("button").click(function() { // 2.slideDown()/slideUp()/slideToggle(): 滑入滑出(卷帘门) $("div").slideDown(800,function() { // 匿名函数 alter("下拉动作...") }); $("div").slideUp(); // 使用默认值, 400ms $("div").slideToggle(600); }) }) </script>
c. 淡入淡出:
函数 | 功能 |
fadeIn() | 淡出 |
fadeOut()) | 淡出 |
fadeToggle() | 切换淡入淡出 |
fadeTo(时间, 透明度(0-1) ) | 淡入淡出,固定半透明度 |
代码实例:
<script> $(function() { $("button").click(function() { // 3.fadeIn()/fadeOut()/fadeToggle()/fadeTo() : 淡入淡出 $("div").fadeIn(); // 淡入 $("div").fadeOut(2000); // 淡出 $("div").fadeToggle(function() { alert("淡入淡出切换...") }) // 淡入/淡出 // 半透明程度: 必须传递时间 $("div").fadeTo(600, 0.4) // 参数一:时间毫秒值; 参数二: 最终的透明度(0~1) }) }) </script>
二、链式调用:
1.什么是链式调用:
jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写.
2. 案例:层级菜单:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>05_案例三_层级菜单</title> <style type="text/css"> body{ font-family:'Microsoft Yahei'; } body,ul{ margin:0px; padding:0px; } ul{ list-style:none; } .menu{ width:200px; margin:20px auto 0; } .menu .level1,.menu li ul a{ display:block; width:200px; height:30px; line-height:30px; text-decoration:none; background-color:#3366cc; color:#fff; font-size:16px; text-indent:10px; } .menu .level1{ border-bottom:1px solid #afc6f6; } .menu li ul a{ font-size:14px; text-indent:20px; background-color:#7aa1ef; } .menu li ul li{ border-bottom:1px solid #afc6f6; } .menu li ul{ display:none; } .menu li ul.current{ display:block; } .menu ul a:hover{ background-color:#f6b544; } </style> <script src="js/jquery-1.11.1.js"></script> <script> $(function() { $(".menu a").click(function() { $(this).next().slideDown(); $(this).parent("li").siblings().children("ul").slideUp(); }) }) </script> </head> <body> <ul class="menu"> <li> <a href="#" class="level1">手机</a> <ul class="current"> <li><a href="#">iPhone X 256G</a></li> <li><a href="#">红米4A 全网通</a></li> <li><a href="#">HUAWEI Mate10</a></li> <li><a href="#">vivo X20A 4GB</a></li> </ul> </li> <li> <a href="#" class="level1">笔记本</a> <ul> <li><a href="#">MacBook Pro</a></li> <li><a href="#">ThinkPad</a></li> <li><a href="#">外星人(Alienware)</a></li> <li><a href="#">惠普(HP)薄锐ENVY</a></li> </ul> </li> <li> <a href="#" class="level1">电视</a> <ul> <li><a href="#">海信(hisense)</a></li> <li><a href="#">长虹(CHANGHONG)</a></li> <li><a href="#">TCL彩电L65E5800A</a></li> </ul> </li> <li> <a href="#" class="level1">鞋子</a> <ul> <li><a href="#">新百伦</a></li> <li><a href="#">adidas</a></li> <li><a href="#">特步</a></li> <li><a href="#">安踏</a></li> </ul> </li> <li> <a href="#" class="level1">玩具</a> <ul> <li><a href="#">乐高</a></li> <li><a href="#">费雪</a></li> <li><a href="#">铭塔</a></li> <li><a href="#">贝恩斯</a></li> </ul> </li> </ul> </body> </html>
三、jquery属性操作:
属性操作:普通属性; 特殊属性
1. 普通属性: id/title/src/href/name/…
1.1 操作普通属性:arrt()
var idVal = $("input").attr("id");
1.2 操作表单属性:prop
var valSelect = $("option").prop("selected") // 获取选中状态 $("option").prop("selected", false); //设置未被选中 $("option").prop("selected", true); //设置选中
1.3 总结:
- 普通属性用attr(), 表单属性用prop();
- attr获取不到返回undefined;
2. 特殊属性:
js中的特殊属性:
InnerHTML/className/style/value... innerHTML --> html() className --> addClass()/removeClass()/toggleClass() style --> css() value --> val()
3. 案例:聊天窗口
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>案例_模拟聊天窗口</title> <link rel="stylesheet" href="css/chat.css"> <script src="js/jquery-1.11.1.js"></script> <script> $(function() { // 需求:点击下边的按钮,根据select和input拼接成一个div,当如words里边 $(".talk_sub").click(function() { // 验证输入框不为空 if($("#talkwords").val() == ""){ alert("内容不能为空...") return; } if($("#who").val() == "0"){ var str = '<div class="atalk"><span>A说:'+ $("#talkwords").val() +'</span></div>' }else { var str = '<div class="btalk"><span>B说:'+ $("#talkwords").val() +'?</span></div>' } $("#words").html($("#words").html() + str) //输入完成后内容清空,重新获取插入条光标 $(".talk_word").val("").focus() }) }) </script> </head> <body> <div class="talk_con"> <!-- 显示区域 --> <div class="talk_show" id="words"> <div class="atalk"><span>A说:吃饭了吗?</span></div> <div class="btalk"><span>B说:还没呢,你呢?</span></div> </div> <!-- 发送内容区域 --> <div class="talk_input"> <!-- 选项: 带有selected的选项,的value值和select标签共享 --> <select class="whotalk" id="who"> <option value="0">A说:</option> <option value="1">B说:</option> </select> <!-- 请输入内容 --> <input type="text" class="talk_word" id="talkwords"> <!-- 按钮 --> <input type="button" value="发送" class="talk_sub" id="talksub"> </div> </div> </body> </html>
四、jquery事件
1.事件:
- blur() 元素失去焦点
- focus() 元素获得焦点
- click() 鼠标单击
- mouseover() 鼠标进入(进入子元素也触发)
- mouseout() 鼠标离开(离开子元素也触发)
- mouseenter() 鼠标进入(进入子元素不触发)
- mouseleave() 鼠标离开(离开子元素不触发)
- hover() 同时为mouseenter和mouseleave事件指定处理函数
- ready() DOM加载完成
- submit() 用户递交表单
- 取消提交的方法一: return false;
-
取消提交的方法二: event.preventDefault()
五、表单校验:
1.正则的定义:
1.1 定义方法一:
var re1 = /^aaa$/ig; // i: 忽略大小写; g:全局搜索
1.2 定义方法二:
var re2 = new RegExp("^aaa$", 'ig') //两个参数,第一个是表达式,第二个是参数
2.正则的使用:
正则对象.test("需要校验的字符串") console.log(re1.test('aaa')) console.log(re1.test('aaaa')) // 简单的正则校验: //用户名验证:(数字字母或下划线6到20位) var reUser = /^\w{6,20}$/; //邮箱验证: var reMail = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/i; //密码验证: var rePass = /^[\w!@#$%^&*]{6,20}$/; //手机号码验证: var rePhone = /^1[3578]\d{9}$/;
3.案例:表单检验:
阅读更多相关文章推荐
- Python自动化开发学习16-前端内容综合进阶
- 二十五、python学习之前端(八): JQuery高级
- 二十六、python学习之前端(九):JQuery数据交互
- 【前端学习笔记】JQuery事件细节、JQ进阶常用方法
- 前端学习笔记-jquery-5-基本选择器
- 前端开发学习之道:jQuery 1.7.1API手册
- python基础学习笔记<进阶>
- python 进阶学习之11
- 【学习笔记】python 进阶特性
- 前端学习之路——管理jQuery包装集
- python之 前端HTML/CSS基础知识学习笔记
- 前端学习笔记--jQuery--基础知识--事件篇
- 前端和后端的数据交互(jquery ajax+python flask+mysql)
- python 进阶学习1-词典
- 前端学习-jQuery学习小笔记(2)——jQ属性样式篇
- python学习-面向对象进阶之私有化(六)
- 【Jquery】前端学习记录(2)【身份证、左侧导航、模糊搜索】
- 机器学习和python学习之路史上吐血整理机器学习python大数据技术书从入门到进阶最全本(书籍推荐珍藏版)
- Python进阶学习
- 前端学习-jQuery源码学习