荷兰之光:阿贾克斯

星哥自述

荷兰一个著名的城市:阿贾克斯(ajax)

.load();
 作用:加载远程的HTML文件代码,并插入到指定的DOM节点中;

可以只传入一个参数,表示加载一个静态的HTML代码片段。

eg:$("#div1").load("load.html")

定义:

$.ajax():是jQuery里面最底层的一个ajax函数,参数接受一个大对象,
对象里面的属性和方法,表示ajax请求的相关社会设置

①:url:请求远程文件的路径
②:type:Ajax请求的类型,可原值 get/post
③:dataType:预期后台返回的是什么类型的数据
"text"-字符串 "json"-JSON对象

④:data:对象格式,向后台发送一个对象,表示传递的数据,
常用于type为"post"的请求方式:
如果type为"get",可以直接使用?追加在url的后面

⑤:success:请求成功的回调函数,参数接受一个data,表示后台的返回的数据。
⑥:error:请求失败的回调函数
⑦:statusCode:接受一个对象,对象的键值对是status状态玛和对应的回调函数,表示请求状态玛是对应的数字时,
执行具体的操作函数
200-正常请求成功 404-页面没有找到

$.aja            url : "http://192.168.5.123/json.php ?name=‘zhangsan‘&age=12",

            type: "post",
            data : {
                name : "李四",
                age : 28
            },
            dataType : "json",
            success : function(data){
                // JQuery中吧JSON字符串转成JSON对象
                var jsons = $.parseJSON(data);
                console.log(jsons);
            },
            //error: function(){
            //    alert("请求失败啦!");
            //},
            statusCode:{
                "404":function(){
                    alert("404表示页面没有找到");
                },
                "500":function(){
                    alert("500表示服务器内部错误");
                },
                "200":function(){
                    alert("200表示请求成功");
                }    

}
        });

$.get(); $.post(); 这两个函数,是在$.ajax()的基础上进行封装而来。可以直接默认发送get请求或post请求;
 接受四个参数:
 ① 请求的URL路径。 相当于$.ajax()里面的url;
 ② 向后台传递的数据。 相当于$.ajax()里面的data;
 ③ 请求成功的回调函数。 相当于$.ajax()里面的success;
 ① 预期返回的数据类型。 相当于$.ajax()里面的dataType;

$.post("http://192.168.5.123/json.php ",{data:"aaa"},function(data){
            console.log(data);
        },"json");

$.parseJSON(str) 将JSON字符串转为JSON对象

标准的JSON字符串,键必须用双引号包裹。

var str = ‘{"age":12}‘
        var obj = $.parseJSON(str);
        console.log(obj);
        

.trim() 去除掉字符串两端空格

var str1 = "   123    ";
        console.log(str1.trim());

用户遍历数组和对象
遍历数组时,函数的第一个参数是下标,第二个参数是值;
 遍历对象时,函数的第一个参数是键,第二个参数是值

var arr = [1,2,3,4,5,6,7];
        var obj = {
            name : "zhangsan",
            age : 12,
            sex : "nan"
        }
        $.each(obj,function(index,item){
            console.log(index);
            console.log(item);
        });

fullPage

导入:

<!--fullPage.js必须在JQuery.js之前导入-->
<script type="text/javascript" src="../../js/jquery-3.1.1.js"></script>
<script type="text/javascript" src="jquery.fullPage.js"></script>
<!--JQUery动画必须放在jquery之下fullPage之上-->
<script type="text/javascript" src="scrolloverflow.min.js"></script>
<script type="text/javascript" src="scrolloverflow.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js "></script>
<link rel="stylesheet" href="../../css/jquery.fullPage.css" />

首先插入HTML代码:

<ul id="menu">
            <li><a href="#page1">page1</a></li>
            <li><a href="#page2">page2</a></li>
            <li><a href="#page3">page3</a></li>
            <li><a href="#page4">page4</a></li>
        </ul>
    <div id="fullpage">
        <div class="section section1">

        </div>
        <div class="section section2">第二屏</div>
        <div class="section section3">
            <div class="slide slide1">第三屏的第一屏</div>
            <div class="slide slide2">第三屏的第二屏</div>
            <div class="slide slide3">第三屏的第三屏</div>
            <div class="slide slide4">第三屏的第四屏</div>
        </div>
        <div class="section section4">第四屏</div>
    </div>
$(function() {
            /*組建好網頁佈局后,必須選中包裹所有section的div的id,并調用fullpage()方法,才能加載佈局
                調用fullpage()方法后,可以給函數傳入對象類型的參數,設置fullpage的各種類型。
             * */
            $(‘#fullpage‘).fullpage({
                //内容是否垂直居中,默认true
             // verticalCentered:false;
              //设置每一屏的背景色
             sectionsColor:["#FF0000","#00FF00","#0000FF"],
             /*设置每一屏的锚点*/
             anchors:["page1","page2","page3","page4"],
          /*  设置单页滚动速度,默认700ms*/
             scrollingSpeed:300,
           /* 设置滚动动画方式
            JQuery只支持几种动画,更多的动画效果需要导入jquery.easings.js*/
           // easing:"easeInQuart",
            /*绑定一个菜单 详见HTML部分*/
            //menu:"#menu",
             /*是否显示导航小圆点  默认false*/
            navigation:true,
            /*设置导航圆点的位置,可选值left和right.默认right*/
           // navigationPosition:"left",
            /*设置鼠标指上时小圆点的提示文字*/
            navigationTooltips:["第一页","第二页","第三页","哈哈"],
            /*设置幻灯片的导航*/
           //slidesNavigation:true,
          // slidesNavPosition:"top",
             /*设置幻灯片左右切换箭头的背景色*/
          // controlArrowColor:"RGBA(0,0,0,0.5)",

           /*最后一页下滑,是否滚到首页*/
            //loopBottom:true,
             /*第一页上滑,是否滚到首页*/
             //loopTop:true,
             /*是否可以循环滚动,与上面两个属性不兼容。只能选其一*/
             continuousVertical:true,
             /*设置幻灯片是否水平循环,默认true*/
             //loopHorizontal:true,
             /*是否使用插件的翻页滚动方式,选择 false,则会出现浏览器自带的滚动条*/
             //autoScrolling:false,
             /*设置内容超过满屏后是否显示滚动条,必须要导入scrolloverflow.min.js才能使用*/
             //scrollOverflow:true,

             //是否使用 CSS3动画 滚动,默认false,使用JQ动画滚动
            //css3:true,
            // paddingTop:"40px",
             //paddingBotoom:"40px",
             //是否使用键盘方向键导航,默认true;
            // keyboardScrolling:false,
             //手机花屏的力度,数值越大,越能翻页
             //touchSensitivity:5,
             //浏览器直接打开指定锚点时,是否以动画显示,默认为true
             animateAnchor:true,

             //afterLoad:当一个页面加载完成之后出发;
             //anchorLink:当年页面的锚点名,
             //index:当前页面的序号,从一开始,
             afterLoad:function(anchorLink,index){
                 console.log(anchorLink);
                 console.log(index);
             },

             // onLeave:当页面即将滚动离开的时候触发;
             //index:当前所在的页面的序号
            //nextIndex:即将去往页面的序号
            //direction:离开的方向,up或down
             onLeave:function(index,nextIndex,direction){
                 console.log(index)
                 console.log(nextIndex)
                 console.log(direction)
             },
             // afterRender:页面初次完成初始化的时候,执行一次
             //先执行第一个页面的 afterLoad,然后在执行 afterRender
             afterRender:function(){
                 console.log("......afterRender.........")
             },
             //afterSlideLoad:当幻灯片加载完成时,执行的函数,
             //anchorLink:幻灯片所在scetion的锚点
             //index:幻灯片所在scetion的序号
             //slideAnchor:幻灯片自身的锚点(如果有的话,如果没有显示slideIndex)
             //slideIndex:幻灯片自身的序号
             afterSlideLoad:function(anchorLink,index,slideAnchor,slideIndex){
                 console.log(anchorLink);
                 console.log(index);
                 console.log(slideAnchor);
                 console.log(slideIndex);
             },
             //onSlideLeave:当幻灯片离开去另一张幻灯片时触发!
          //   anchorLink:当前幻灯片所在的section的锚点
           //  index:当前幻灯片在section的序号,从1开始
            // slideIndex:当年幻灯片自身的的序号,从0开始
           //  direction:幻灯片移动的方向,left和right
           //  nexSlideIndex:即将显示的幻灯片的序号,从0开始
             onSlideLeave:function(anchorLink,index,slideIndex,direction,nexSlideIndex){
                 console.log(anchorLink);
                 console.log(index);
                 console.log(slideIndex);
                 console.log(direction);
                 console.log(nexSlideIndex);
             }

            });
        });
    </script>

点击page跳转页面
<style>
        .div1{
            width:100px;
            height:100px;
            background-color: red;
        }
    </style>

    <body>
     <button id="btn1">点击</button>
        <div class="div1">div1</div>

    <script type="text/javascript" src="move.js" ></script>
    <script>
    document.getElementById("btn1").onclick=function(){
     move(".div1")
     .set("margin-left","100px")//设置CSS相关的属性
        .set("margin-left","200px")
        .set("margin-top","200px")
      // .set("width","200px")
      .add("width",200)     //将数值类型的属性,在原有的基础上加一个数
      //.rotate(90)//设置旋转角度
     .duration(‘1s‘)//设置动画完成的时间
      //.translate(50,100)//设置平移
     // .skew(30,40)//设置 X Y轴的旋转角度
      // .scale(2,2)//设置缩放
      //.x(200)//设置x轴位置
      ///.y(200)//设置y轴位置
      .delay(1000)//动画延时几毫秒之后开始执行

       .end(function(){
           //move.js要是动画生效,必须使用.end()结尾,
       //    .end())传入一个函数,表示动画结束后执行的回调函数
           //alert("动画结束")
       });
    }

    </script>


    <script type="text/javascript" src="../../../js/jquery-3.1.1.js" ></script>
        <script type="text/javascript" src="additional-methods.js"></script>
        <script type="text/javascript" src="localization/messages_zh.js" ></script>

    </head>
    <body>
            <form class="cmxform" id="commentForm" method="get" action="">
          <fieldset>
            <legend>输入您的名字,邮箱,URL,备注。</legend>
            <p>
              <label for="cname">Name (必需, 最小两个字母)</label>
              <input id="cname" name="name" type="text" >
            </p>
            <p>
              <label for="cemail">E-Mail (必需)</label>
              <input id="cemail" type="text" name="email">
            </p>
            <p>
              <label for="curl">URL (可选)</label>
              <input id="curl" type="url" name="url">
            </p>
            <p>
              <label for="ccomment">备注 (必需)</label>
              <textarea id="ccomment" name="comment"></textarea>
            </p>
            <p>
              <input class="submit" type="submit" value="Submit">
            </p>
          </fieldset>
        </form>
        <script>
            $(function(){
                $("#commentForm").validate({
                    //rules:{}用于声明各个input的验证规则
                    rules:{
                        //选择每个input时,需要选中每个input的name。并对应一个对象设置多条验证,
                        name:{
                            required:true,
                            minlength:2
                        },
                        eamil{
                            required:true,
                            email:true
                        },
                    },
                    //message:{}对象,用于显示各个input验证不通过的提示文字
                    //message对应每个规则都会有默认的提示文字,如非特殊需要,无需单独设置
                    message:{
                        name:{
                            required:"这个内容,你必须要填",
                            minlength:"这里最少输入2个字符"
                        }

                    }

                });
            })

        </script>
        
    <script type="text/javascript" src="../../js/jquery-3.1.1.js" ></script>
    </head>
    <body>
        <div id="div1">这是DIV1里面的文字!!!</div>
        <div id="div2">这是DIV1里面的文字!!!</div>
        <script>
            /*jQuery自定义插件:
             * 1:全局插件的声明
             * $.extend({
             *     func:function(){}  //func-->插件名
             *
             * });
             * 全局插件的调用:
             * $.func();
             2 局部插件的声明
             $.fn.func=function(){}
             局部插件的调用 $("选择器").func();

             * */
        /*全局插件*/

        $.extend({
            sayHello:function(){
                alert("hello jQuery!!");
            },
            say:function(message){
                alert("你说了:"+message);
            }
        });
        //$.sayHello();
        //$.say("ahahahhahah")

        /*局部插件*/
        $.fn.setBgColor = function(bgColor){
            //在$.fn声明的插件函数中,可以使用this代指调用的的这个插件的对象节点。
            //而且,这个this是一个jq对象
            //this代指$("#div1")
            bgColor =bgColor? bgColor : "#ccc";
           this.css("background-color",bgColor);
            }
        //$("#div1").setBgColor("red");
            $("#div2").setBgColor();

        $.fn.setFont = function(obj){
            var defaults = {// 设置默认值
                "font-size":"12px",
                "font-weight":"normal",
                "font-family":"宋体",
                //"color":"#CCC"
            }
            // 将默认值与传入的obj比对。 并返回一个新对象。
            // 如果obj里面有的属性,则使用obj的属性。
            // 如果obj没有声明的属性则使用默认值里面的属性
            var newObj = $.extend(defaults,obj);
            return this.css(newObj);

            // 将调用当前函数的对象(this)返回,可以保证JQuery的链式调用语法
            //return this;
        }
        $("#div1").setFont({
            //"font-size":"48px",
            //"font-weight":"bold",
            //"font-family":"微软雅黑",
            //"color":"red",
        }).css("text-align","center");

        </script>

less和sass

less的基础语法:

1声明一个变量:@变量名 :变量值;
 使用变量:@变量名
 》》》变量使用的基础的原则:
多次频繁出现的值,后期需要同意修改的值,牵扯到数值运算的值,推荐使用变量
 》》>less中的变量类型:
 ①:数值类:不带单位的,123 带单位的 1px;
 ②:字符串类型:带""的, "hahaha" 不带引号的 red #ff0000
 ③:颜色类:red #ff0000 RGB(255,255,0)
 ④:值列表类型: 多个值用逗号或者空格分割 10px solid red
 在CSS中出现的属性值,在less中都可以用作变量名

2 混合(Mixins)
 无参数混合:
 声明:.class{}
 调用:再选择器中使用.class;直接调用
 ②:有参无默认值混合:
 声明. class(@param){}
 调用: . class(paramValue);

3 有参数有默认值混合:
 声明: .class(@param:10px){}
 调用:.class(paramValue); 或 .class();

》》》如果声明时。没有给参数赋默认值,则调用必须赋值,否则报错
 》》》无参混合就是一个普通的class选择器,会被编译到css文件中,有参混合,
 在编译中,不会出现在CSS文件中

匹配模式

3 less中的匹配模式
 ①声明:
@pipei(条件1,参数){} @pipei(条件2,参数){} @pipei(@_,参数){}
 ②:调用:
 @pipei(条件的值,参数的值){}
 ②:匹配规则
 根据调用时输入的条件值,去寻找与之匹配的混合执行,
 @_表示不管匹配成功与否,都会执行的选项。
 4 @arguments:特殊变量
 在混合中,@arguments表示混合传入的所有参数;@arguments中的多个参数之间,用空格分割
 .border(@width,@style,@color){
border:@arguments;==> //border:@width @style @color;
}

5 less 中的 + / - * 运算
 less中的所有变量和数值,可以进行+ - * / 运算,
 需要注意的是,当颜色值运算时,红绿蓝分三组运算,组内单独运算,足间互不干涉。

6 less中的嵌套
 LESS中允许CSS选择器按照HTML代码的结构进行嵌套,
 section{
 >p{}
 ul{
 &:hover{}
 }
 }
 less中的嵌套是后代选择器,如果需要子代选择器,需要在前面家>
 &符号,表示&所在的上一层选择器,比如上述&表示section ul:hover

注释一:编译时不会被编译到css文件中

/*
注释二:在非compressed压缩模式下,会被编译到css文件中。
* */
/*!
注释三:重要注释。在各种压缩模式下,都会被编译到css文件中
* */
[SCSS基础语法]
 1、scss中的变量
①声明变量:$变量名:变量值;

SCSS中,允许将变量嵌套在字符串中,但是变量必须使用 井{} 包裹
 eg: border-井{$left}:10px solid yellow;

2、scss中的运算,会将单位进行运算,使用时需注意最终的单位是否正确。
 eg:10px * 10px =100 px*px;

3、scss中的嵌套:选择器嵌套 属性嵌套 伪类嵌套
 ①选择器嵌套 ul{li{}}
 嵌套默认表示后代选择器,如果需要子代选择器,可以在选择器前加>
 可以在选择器的{}中,使用&表示上一层的选择器。

②伪类嵌套: li{&:hover{}}
 在选择器的{}中,使用&配合伪类事件,可以表示当前选择器的伪类。

③ 属性嵌套: font:{size:18px;}
 对于属性名有-分割为多段的属性,可以使用属性嵌套,属性名的前半部分必须紧跟一个:才能用{}包裹属性的后半部分。
 4、混合宏、继承、站位符:
 ①混合宏:使用@mixin声明混合宏,在其他选择器中使用@include调用混合宏

@mixin hunhe{} .class{@include hunhe;}

@mixin hunhe(@param){} .class{@include hunhe(value);}

@mixin hunhe(@param:value){} .class{@include hunhe();}

>>>声明时可以有参数也可以没有参数。参数可以有默认值也可以没有默认值。但是调用时,必须符合声明时的要求。与LESS中的混合相同
 >>>优点:①可以传参 ②不会产生同名的class
 >>>缺点:调用时,会把混合宏中所有的代码copy到选择器中,产生大量重复代码

②继承:声明一个普通class,在其他选择器中使用@extend继承这个class
 .class{ } .class1{ @extend.class1;}
 >>>优点:将相同代码,提取并集选择器,减少冗余代码;
 >>>缺点:①不能传参;②会产生出一个多余的class;

③占位符:使用%声明占位符,在其他选择器中使用@extend 继承占位符;
 %class1{} .class1{@extend %class1;}
 >>>优点:①将相同代码,提取到并集选择器,减少冗余代码;
②不会生出一个多余的代码
 》》》缺点:不能传参

if条件结构:
 条件结构需要写在选择器里面,条件结构的大括号直接包裹样式属性。
 @if 条件 {}
 @else{}

6. for循环:使用@for $i from 1 to 10{}//不包括10
使用@for $i from 1 through 10{}//包括10

7. while循环:$i:0;
@while $i<10{
 $i:$i+1
 }
 8. each 循环便利:
 @each $item in a,b,c,d{
 //$item 表示 a,b,c,d的每一项

时间: 2024-10-27 08:26:26

荷兰之光:阿贾克斯的相关文章

范加尔背叛全攻全守 反驳:我们让荷兰人感到了快乐

荷兰毫无疑问是本届世界杯最令人惊愕的球队,预选赛中我们看到的还是那支熟悉的橙衣军团,10场比赛9胜1平打进疯狂的34球.但到了决赛圈,范加尔却突然打起了防守反击,甚至使用起了5后卫,战术之保守甚至要超过意大利等老牌防反球队.“范加尔背叛了荷兰足球.”阿根廷名宿巴尔达诺毫不客气地批评,“要知道40多年来荷兰足球一直都是那样地唯美激情,但现在却完全变了.” 有趣的是,变化并不是从范加尔开始的.早在2006年世界杯上,巴斯滕执教的荷兰便网络pos机放弃了全攻全守足球,变得更加实际甚至机械.2010年世

《文明之光》读书笔记

读完了<文明之光>. 关注这本书是因为他的作者是位计算机学者,以前出版了关注度极高的<数学之美>.<浪潮之巅>,而我很喜欢历史,就一直想着要看这本书. 文明之光最大的不同是从文明或者说科技的角度讲历史.这和我们以前讲到历史时都是用阶级.革命来讲是完全不同的.作者也说自己是选取了人类历史上的若干片段来分析历史.印象最深的几点: 1.我们现在总是问中国什么时候能够崛起,如果我们细读历史会发现,我们曾经也辉煌过,而且这种辉煌不是说历史上的唐朝靠着武力崛起而崛起的.书中详细叙述

荷兰国旗问题

荷兰国旗问题: 现有红,白,蓝三个不同颜色的小球,乱序排列在一起,重新排列这些小球,使得红白蓝三色的同颜色的球在一起. 问题分析: 问题转换为:给定数组A[0,1,...,N-1],元素只能取0,1,2三个值,设计算法使得数组重新排列成“000...111..222”的形式. 可以使用三个游标,begin=0,cur=0,end=N-1. 程序实现: 1 /*************************************** 2 FileName HollandFlag.cpp 3 A

返回值是TEXT的阿贾克斯方法

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

雷米 - 心理罪:城市之光(2015年8月11日)

<心理罪:城市之光> 作 者:雷米译 者:系 列:出 版:重庆出版社字 数:374千字阅读完成:2015年8月9日

阿根廷点杀荷兰,24年后再进决赛

阿根廷点杀荷兰,24年后再进决赛 -评2014年巴西世界杯阿根廷和荷兰之战 2014年7月10日凌晨4点进行的这场1/4决赛,双方都非常谨慎,摆出最强阵式,防守如铜墙铁壁,没有给对方多少机会,就连角球任意球也很少.比赛进行到70多分钟的时候,阿根廷9号前锋伊瓜进攻,可惜了,球打在边网上,这是一次漂亮的传球进攻.比赛90分钟后,双方均无建树,不得不进行加时赛,加时30分钟后,双方也无进球,只能罚点球决出胜负了. 点球大战第1轮,荷兰2号球员弗拉尔的点球瞬间被阿根廷门将罗梅罗扑出,阿根廷队长梅西骗过

荷兰国旗问题 划分成3部分 leecode

1 public class Solution { 2 public void sortColors(int[] A) { 3 int len=A.length; 4 int beg=0; 5 int end=len-1; 6 int cur=0; 7 while(cur<=end){ 8 if(A[cur]==0) 9 { 10 swap(A,cur,beg); 11 beg++; 12 cur++; 13 14 15 } 16 else if(A[cur]==1) 17 { 18 cur++

阿贾克斯简介

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

unity3d shader之God Ray上帝之光

又是一个post-process后期效果,god ray 上帝之光,说起上帝之光就是咱们再看太阳时太阳周围一圈的针状光芒先放组效果,本文的场景资源均来自浅墨大神,效果为本文shader效果 加入了前篇HDR和Bloom,效果大增:链接 本文的代码是来自unity圣典中某大神的分享,博主做了小小的改进 链接然后就来做下讲解,共有两个shader,一个负责制造ray,一个负责和原屏幕图像混合,于原屏幕图像混合很简单,就是单纯的把两个图像的颜色叠加,控制一下ray的权重,接下来我们着重讲解一下,制造r