A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 小江哥 黑马粉丝团   /  2018-6-28 09:57  /  888 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.1上次课的内容回顾:
  1. JavaScript:
  2. * JavaScript:基本使用:
  3.    * ECMAScript:
  4.        * 变量:弱变量类型: var i;
  5.        * 数据类型:原始类型和引用类型.
  6.        * 语句
  7.        * 运算符
  8.        * 对象:
  9.            * String,Boolean,Date,Math,Number,正则...
  10.        * 全局函数:eval(),encodeURI(),encodeURIComponent(),decodeURI(),decodeURIComponent(),parseInt(),parseFloat()
  11.    * BOM:浏览器对象.
  12.        * window:
  13.        * Navigator:
  14.        * Screen:
  15.        * History:
  16.        * Location:
  17.    * DOM:文档对象.
  18.        * 获得元素:
  19.            * document.getElementById(),document.getElementsByName(),document.getElementsByTagName();
  20.        * 添加元素:
  21.            * element.appendChild(),element,insertBefore();
  22.        * 删除元素:
  23.            * element.removeChild();
  24.        * 创建元素:
  25.            * document.createElement(),document.createTextNode();
  26.        * 修改元素值:
  27.            * innerHTML属性:
复制代码

1.2使用JQuery完成定时弹出广告:
1.2.2.1技术分析:
【JQuery的概述】
  1. 什么是JQuery:
  2. JQuery是一个JS的框架(JS的类库).对传统的JS进行了封装.
  3. 现在企业的开发中往往不会使用传统的JS进行开发,通常都会使用JS框架进行开发.
  4. JS的常用的框架:
  5. JQuery,ExtJS,DWR,Prototype...
  6. JQ的使用:
  7. 学习JQuery的语法.
复制代码

【JQuery的入门】
  1. 引入Jquery的js文件.
  2. <script src="../../js/jquery-1.11.3.min.js"></script>
  3. JQuery的入口函数:
  4.                         // 传统的JS的方式:页面加载的事件只能执行一次.
  5.                         /*window.onload = function(){
  6.                                 alert("aaa");
  7.                         }
  8.                        
  9.                         window.onload = function(){
  10.                                 alert("bbb");
  11.                         }*/
  12.                        
  13.                         // JQuery的方式:相当于页面加载的事件,可以执行多次.效率比window.onload要高.
  14.                         // window.onload 等页面加载完成后执行该方法.
  15.                         // $(function(){}):等页面的DOM树绘制完成后进行执行.
  16.                         // $相当于JQuery
  17.                         $(function(){
  18.                                 alert("aaa");
  19.                         });
  20.                        
  21.                         $(function(){
  22.                                 alert("bbb");
  23.                         });
复制代码

【JS对象和JQ对象的转换】
  1. window.onload = function(){
  2.                                 // 传统JS方式:
  3.                                 var d1 = document.getElementById("d1");
  4.                                 // JS对象的属性和方法:
  5.                                 // d1.innerHTML = "JS对象的属性";
  6.                                 // d1.html("aaaaaa");
  7.                                 // 将JS对象转成JQ的对象.
  8.                                 $(d1).html("JS对象转成JQ对象");
  9.                         }

  10.              $(function(){
  11.                                 var $d1 = $("#d1");
  12.                                 // $d1.html("JQ对象的属性");
  13.                                 // 转成JS的对象:
  14.                                 // 一种方式
  15.                                 // $d1[0].innerHTML = "将JQ的对象转成JS对象";
  16.                                 // 二种方式:[code]JQ的效果操作:
  17. * show();
  18.     * 使用一:Jq对象.show();
  19.     * 使用二:Jq对象.show(“slow”); // slow,normal,fast
  20.     * 使用三:Jq对象.show(毫秒值); // 1000
  21.     * 使用四:Jq对象.show(毫秒值,function(){});

  22. * hide();
  23.     * 使用一:Jq对象.hide();
  24.     * 使用二:Jq对象.hide(“slow”); // slow,normal,fast
  25.     * 使用三:Jq对象.hide(毫秒值); // 1000
  26.     * 使用四:Jq对象.hide(毫秒值,function(){});

  27. * slideDown();        --向下滑动
  28.     * 使用一:Jq对象.slideDown();
  29.     * 使用二:Jq对象.slideDown(“slow”); // slow,normal,fast
  30.     * 使用三:Jq对象.slideDown(毫秒值); // 1000
  31.     * 使用四:Jq对象.slideDown(毫秒值,function(){});

  32. * slideUp();        --向上滑动
  33.     * 使用一:Jq对象.slideUp();
  34.     * 使用二:Jq对象.slideUp(“slow”); // slow,normal,fast
  35.     * 使用三:Jq对象.slideUp(毫秒值); // 1000
  36.     * 使用四:Jq对象.slideUp(毫秒值,function(){});

  37. * fadeIn();                --淡入
  38.     * 使用一:Jq对象.fadeIn();
  39.     * 使用二:Jq对象.fadeIn(“slow”); // slow,normal,fast
  40.     * 使用三:Jq对象.fadeIn(毫秒值); // 1000
  41.     * 使用四:Jq对象.fadeIn(毫秒值,function(){});

  42. * fadeOut();        --淡出
  43.     * 使用一:Jq对象.fadeOut();
  44.     * 使用二:Jq对象.fadeOut(“slow”); // slow,normal,fast
  45.     * 使用三:Jq对象.fadeOut(毫秒值); // 1000
  46.     * 使用四:Jq对象.fadeOut(毫秒值,function(){});

  47. * animate();        --自定义动画
  48. * toggle();                --单击切换函数
  49.     * Jq对象.toggle(fn1,fn2...);单击第一下的时候执行fn1,单击第二下执行fn2...
复制代码

                                $d1.get(0).innerHTML = "将JQ的对象转成JS对象的方式二";
                        });[/code]

1.2.2.2步骤分析:
【步骤一】:创建一个HTML的页面.
【步骤二】:在页面中创建一个广告部分的DIV,并且设置DIV是隐藏的.
【步骤三】:设置定时操作,5秒钟执行一个显示的方法.
【步骤四】:在设置一个定时,5秒钟执行一个隐藏的方法.
1.2.3代码实现
  1. <script>
  2.                         var time ;
  3.                         $(function(){
  4.                                 // 设置定时 5秒钟执行一个 显示广告的方法:
  5.                                 time = setInterval("showAd()",5000);
  6.                         });
  7.                        
  8.                         function showAd(){
  9.                                 // 获得元素:
  10.                                 //$("#adDiv").show(2000);
  11.                                 // $("#adDiv").slideDown(2000);
  12.                                 $("#adDiv").fadeIn(3000);
  13.                                 clearInterval(time);
  14.                                 // 再设置定时 5秒钟隐藏.
  15.                                 time = setInterval("hideAd()",5000);
  16.                         }
  17.                        
  18.                         function hideAd(){
  19.                                 //$("#adDiv").hide(2000);
  20.                                 // $("#adDiv").slideUp(2000);
  21.                                 $("#adDiv").fadeOut(3000);
  22.                                 clearInterval(time);
  23.                         }
  24.                        
  25.                 </script>
复制代码

1.2.4总结:
JQuery的选择器
【基本选择器】(*****)
  1. id选择器
  2. * 用法:$(“#id”)
  3. 类选择器
  4. * 用法:$(“.类名”)
  5. 元素选择器
  6. * 用法:$(“元素名称”)
  7. 通配符选择器
  8. * 用法:$(“*”)
  9. 并列选择器
  10. * 用法:$(“选择器,选择器,选择器”)

  11.                         $(function(){
  12.                                 $("#but1").click(function(){
  13.                                         // alert("aaaa");
  14.                                         $("#one").css("background","#bbffaa");
  15.                                 });
  16.                                
  17.                              $("#but2").click(function(){
  18.                                         $(".mini").css("background","#bbffaa");
  19.                                 });
  20.                                
  21.                                 $("#but3").click(function(){
  22.                                         $("div").css("background","#bbffaa");
  23.                                 });
  24.                                
  25.                                 $("#but4").click(function(){
  26.                                         $("*").css("background","#bbffaa");
  27.                                 });
  28.                                
  29.                                 $("#but5").click(function(){
  30.                                         $("#two,span,.mini").css("background","#bbffaa");
  31.                                 });
  32.                         });
复制代码
  1. 后代选择器:使用空格        所有后代包含孙子及以下的元素
  2. 子元素选择器:使用>        第一层的元素(儿子)
  3. 下一个元素:使用+                下一个同辈元素
  4. 兄弟元素:使用~                后面所有的同辈元素
  5.                 <script>
  6.                         $(function(){
  7.                                 // 后代选择器:
  8.                                 $("#but1").click(function(){
  9.                                         $("body div").css("background","#bbffaa");
  10.                                 });
  11.                                
  12.                                 // body下的第一层div元素
  13.                                 $("#but2").click(function(){
  14.                                         $("body > div").css("background","#bbffaa");
  15.                                 });
  16.                                
  17.                                 // 查找下一个同辈的元素
  18.                                 $("#but3").click(function(){
  19.                                         $("#three + div").css("background","#bbffaa");
  20.                                 });
  21.                                
  22.                                 $("#but4").click(function(){
  23.                                         $("#two ~ div").css("background","#bbffaa");
  24.                                 });
  25.                                
  26.                         });
  27.                        
  28.                 </script>
复制代码



1.3案例二:表格隔行换色的案例:
1.3.2分析:
1.3.2.1技术分析:
【JQuery的选择器】
* 基本过滤选择器:
    * odd        :
    * even        :
【JQuery中添加和移除样式】
  1. 【JQuery中添加和移除样式】
  2. * 如果样式没有事先定义,可以使用css方法为奇数行或者偶数行设置背景颜色.
  3. * 如果已经在css文件中事先将样式定义完成了,不能使用css方法了.使用JQ中的CSS类中的方法:
  4.     * addClass();
  5.     * removeClass();
复制代码

1.3.2.2步骤分析:
【步骤一】:引入jquery的js
【步骤二】:在页面加载的函数中,选择奇数行,添加样式
【步骤三】:在页面加载的函数中,选择偶数行,添加样式
1.3.3代码实现:
  1.                 <script>
  2.                         $(function(){
  3.                                 /*$("tr:odd").addClass("odd");
  4.                                 $("tr:even").addClass("even");*/
  5.                                
  6.                                 $("tbody tr:odd").addClass("odd");
  7.                                 $("tbody tr:even").addClass("even");
  8.                         });
  9.                 </script>
复制代码

1.4案例三:使用JQuery完成复选框的全选和全不选
【JQuery对属性的操作的方法】

  1. * attr();
  2.     * 使用方法一:$(“”).attr(“src”);
  3.     * 使用方法二:$(“”).attr(“src”,”test.jpg”);
  4.     * 使用方法三:$(“”).attr({“src”:”test.jpg”,”width”:”100”});
  5. * removeAttr();
  6. * prop();新版本的方法.
  7.     * 使用方法一:$(“”).prop(“src”);
  8.     * 使用方法二:$(“”).prop(“src”,”test.jpg”);
  9.     * 使用方法三:$(“”).prop({“src”:”test.jpg”,”width”:”100”});
  10. * removeProp();
  11. * addClass()
  12. * removeClass();
复制代码

1.4.2.2步骤分析:
【步骤一】:在页面中添加复选框.
【步骤二】:引入jquery的js
【步骤三】:编写JQ的入口函数
【步骤四】:点击上面的复选框,获得下面的所有的复选框.
【步骤五】:修改下面的复选框的值.
1.4.3代码实现:
  1.         // 复选框全选和全不选
  2.                         $(function(){
  3.                                 // 获得上面的复选框:
  4.                                 //var $selectAll = $("#selectAll");
  5.                                 // alert($selectAll.attr("checked"));
  6.                                 /*$selectAll.click(function(){
  7.                                         // alert($selectAll.prop("checked"));
  8.                                         if($selectAll.prop("checked") == true){
  9.                                                 // 上面的复选框被选中
  10.                                                 $(":checkbox[name='ids']").prop("checked",true);
  11.                                         }else{
  12.                                                 // 上面的复选框没有被选中
  13.                                                 $(":checkbox[name='ids']").prop("checked",false);
  14.                                         }
  15.                                 });*/
  16.                                
  17.                                 // 简化:
  18.                                 $("#selectAll").click(function(){
  19.                                         $(":checkbox[name='ids']").prop("checked",this.checked);
  20.                                 });
  21.                         });
复制代码

1.5案例四:使用JQuery完成省市二级联动:
  1. 遍历的方式一:
  2. * $.each(objects,function(i,n){
  3.    
  4. });
  5. 遍历的方式二:
  6. * $(“”).each(function(i,n){

  7. });

  8.                         $(function(){
  9.                                 var arrs = new Array("张森","张凤","张芙蓉");
  10.                                 // 将这个数组转成JQ的对象使用each方法.
  11.                                 /*$(arrs).each(function(i,n){
  12.                                         alert(i+"   "+n);
  13.                                 });*/
  14.                                
  15.                                 $.each(arrs,function(i,n){
  16.                                         alert(i+"   "+n);
  17.                                 });[code]<script>
  18.                         $(function(){
  19.                                 // 定义数组:
  20.                                 /*var arrs = new Array(5);
  21.                                 arrs[0] = new Array("杭州市","绍兴市","温州市","义乌市","嘉兴市");
  22.                                 arrs[1] = new Array("南京市","苏州市","扬州市","无锡市");
  23.                                 arrs[2] = new Array("武汉市","襄阳市","荆州市","宜昌市","恩施");
  24.                                 arrs[3] = new Array("石家庄市","唐山市","保定市","邢台市","廊坊市");
  25.                                 arrs[4] = new Array("长春市","吉林市","四平市","延边市");*/
  26.                                
  27.                                 var cities = [
  28.                                         ["杭州市","绍兴市","温州市","义乌市","嘉兴市"],
  29.                                         ["南京市","苏州市","扬州市","无锡市"],
  30.                                         ["武汉市","襄阳市","荆州市","宜昌市","恩施"],
  31.                                         ["石家庄市","唐山市","保定市","邢台市","廊坊市"],
  32.                                         ["长春市","吉林市","四平市","延边市"]
  33.                                 ];
  34.                                
  35.                                 var $city = $("#city");
  36.                                 // 获得代表省份的下拉列表:
  37.                                 $("#province").change(function(){
  38.                                         // alert(this.value);
  39.                                         // alert($(this).val());
  40.                                         $city.get(0).options.length = 1;
  41.                                        
  42.                                         var val = this.value;
  43.                                         // 遍历并且判断:
  44.                                         $.each(cities,function(i,n){
  45.                                                 // 判断:
  46.                                                 if(i == val){
  47.                                                         $(n).each(function(j,m){
  48.                                                                 // alert(j+"   "+m);
  49.                                                                 $city.append("<option>"+m+"</option>");
  50.                                                         });
  51.                                                 }
  52.                                         });
  53.                                 });
  54.                         });
  55.                 </script>
复制代码

                        });[/code]


1.6案例五:下拉列表的左右选择:
1.6.3代码实现:
  1. 传统的JS的方式进行实现:
  2.                         window.onload=function(){
  3.                                 // 添加到右侧:
  4.                                 document.getElementById("addRight").onclick = function(){
  5.                                         // 获得左侧的下拉列表
  6.                                         var selectLeft = document.getElementById("selectLeft");
  7.                                         // 遍历左侧列表中的所有的option元素.
  8.                                         for(var i = selectLeft.options.length - 1;i>=0;i--){
  9.                                                 // 判断该元素是否被选中
  10.                                                 if(selectLeft.options[i].selected == true){
  11.                                                         document.getElementById("selectRight").appendChild(selectLeft.options[i]);
  12.                                                 }
  13.                                         }
  14.                                 }
  15.                                
  16.                                 // 全部到右侧:
  17.                                 document.getElementById("addAll").onclick = function(){
  18.                                         // 获得左侧的下拉列表
  19.                                         var selectLeft = document.getElementById("selectLeft");
  20.                                         // 遍历左侧列表中的所有的option元素.
  21.                                         for(var i = selectLeft.options.length - 1;i>=0;i--){
  22.                                                 document.getElementById("selectRight").appendChild(selectLeft.options[i]);
  23.                                         }
  24.                                 }
  25.                         }

  26. 使用JQ完成下拉列表左右选择:
  27.                         $(function(){
  28.                                 // 添加左侧选中的元素到右侧
  29.                                 $("#addRight").click(function(){
  30.                                         // 获得左侧被选中的option元素:
  31.                                         $("#selectLeft option:selected").appendTo("#selectRight");
  32.                                 });
  33.                                
  34.                                 // 添加所有到右侧
  35.                                 $("#addAll").click(function(){
  36.                                         // 获得左侧被选中的option元素:
  37.                                         $("#selectLeft option").appendTo("#selectRight");
  38.                                 });
  39.                                
  40.                                 // 移除右侧被选中元素到左侧:
  41.                                 $("#removeLeft").click(function(){
  42.                                         $("#selectRight option:selected").appendTo("#selectLeft");
  43.                                 });
  44.                                
  45.                                 // 移除右侧被选中元素到左侧:
  46.                                 $("#removeAll").click(function(){
  47.                                         $("#selectRight option").appendTo("#selectLeft");
  48.                                 });
  49.                                
  50.                                 // 双击左侧的的某个元素,移动到右侧:
  51.                                 $("#selectLeft").dblclick(function(){
  52.                                         $("option:selected",this).appendTo("#selectRight");
  53.                                 });
  54.                                        
  55.                                 // 双击左侧的的某个元素,移动到右侧:
  56.                                 $("#selectRight").dblclick(function(){
  57.                                         $("option:selected",this).appendTo("#selectLeft");
  58.                                 });
  59.                         });
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马