• Jquery基础


    这几天在忙着期末考试,其实也没有花多少时间来复习,不挂科就好。昨天考试完后玩了几把LOL就停网睡觉了,今天天气很好,把前几天看的视频整理一下,顺便熟悉一下Jquery的写法。这个真的是软肋啊,也只是刚刚接触,考虑一下是不是要买《锋利的Jquery》这本书了,经典之作啊。下面开始吧:

    废话我也不多说了,顺便带一下Jquery的介绍,Jquery是Javascript下的一个类库,集成了很多的功能函数和功能模块,写代码更快捷方便,他的理念是:write less,do more。有木有发现和我的博客标题很像,其实就是借鉴这个。Jquery的函数很多,不容易记忆,但是捷径还是有的,通过学会Jquery的设计思想来记忆,选择器、链式操作、方法函数化、原生与JQ的关系等等思想。官方网站:www.jquery.com和程序接口网址www.api.jquery.com.还可以下载中文版的文档离线看。

    1.jquery和javascript的不同写法。jquery里的美元符号相当于原生js的window.onload和获取元素等等功能。要想使用jquery类库当然需要引入他的链接,链接是一个远程文件。

     1 <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
     2 <script>
     3 $(function(){
     4     $('div').click(
     5         function(){
     6             //alert(this.innerHTML); js的写法
     7             //alert($(this).html()); jq的写法
     8             //alert(this.html()); 错误,不能弹出窗口    一下这两种方式把js和jq结合起来了,写法错误。他们不能混用
     9             //alert($(this).innerHTML);  undefined 错误
    10         }               
    11     )
    12 })
    13 </script>
    14 </head>
    15 <body>
    16 <div>paxster</div>
    17 </body>

    2.选取元素----选取元素的方式:类CSS方法,例如$('#div1')    $('.div1')-----纯jq方法,例如$('li:first') 选取li的第一个元素     $('ul li:last-child')选取最后一个li。因为没有使用window.onload,所以要把script标签放在div结构的后面,等div加载完成以后开始执行jq。

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    </head>
    <body>
    <div>paxster</div>
    <div>boychik</div>
    <script>
        $('div').css('background','blue');
    </script>
    </body>

     3.Jquery过滤器----顾名思义,从众多的元素中选取想要的元素,但是用原生的方法非常麻烦,只能通过

     1 <script>
     2 $(function(){
     3 
     4     $('div').has('p').css('background','red');
     5     //只有第一个div拥有p标签,所以选择了第一个div,并改变样式,has过滤器
     6 });
     7 </script>
     8 </head>
     9 <body>
    10 <div>11111<p></p></div>
    11 <div>22222<span></span></div>

     4.链式操作----一句语句可以执行多个操作,但是这个语句看起来有点别扭,太长了不易于阅读理解。

    1 $('div').find('h3').eq(2).css('background','red').end().eq(4).css('background','green').end().end().css('border','1px red solid');
    2     //eq(2)代表第三个h3       end()可以返回上一层继续执行操作,返回到$('div').find('h3')这一层

    5.方法函数化----这里的click就相当于原生的onclick方法,jquery里还有很多的类似的方法都是这种写法。

    1 $(function(){
    2 
    3     $('#div1').click(function(){
    4     
    5         alert( $(this).html() );
    6     
    7     });
    8 
    9 });

    6.查找相邻元素----查找div下面的p元素,这个p元素紧挨着div元素

    1 $(function(){
    2 
    3     $('div').next('p').css('background','red');
    4 
    5 });

     7.创建元素----使用append方法添加元素

    第一种写法:

     1 <script>
     2 $(function(){
     3     $('ul').append('<li>hello</li>');
     4 });
     5 </script>
     6 </head>
     7 <body>
     8 <ul>
     9 </ul>
    10 </body>

    第二种写法

    1 $(function(){
    2     var oLi = $('<li>');
    3     oLi.html('hello');
    4     
    5     $('ul').append(oLi);
    6 });

    第三种写法-----clone()克隆元素

    1 $(function(){//clone : 复制节点
    2     $('div').clone().appendTo($('p'));//在p元素的后面添加div
    3 });

    8.工具函数-----Jquery提供的函数,原生的js也可以用

    1 window.onload = function(){
    2     var aLi = document.getElementsByTagName('li');
    3     $.each(aLi,function(index,elements){
    4         elements.innerHTML = index;
    5     });
    6 };

    trim函数

    1 window.onload = function(){
    2     var oDiv = document.getElementById('div1');
    3     alert('('+$.trim(oDiv.className)+')');//弹出div的类名trim用来删除两边的空格
    4 };

    构造函数和原型下的写法

    1 $.each = function(){  //构造函数下面的方法:$.each()
    2 };
    3 
    4 $.prototype.each = function(){ //原型下面的方法 : $('div').each()
    5 };

    9.Jquery的取值和赋值

    1 $(function(){
    2     //alert( $('h1').html() );  //取值
    3     $('h1').html('hello');  //赋值
    4 });

    注意:取值和赋值的不同之处

     1 <script>
     2 $(function(){
     3     alert( $('h1').html() ); //取值 : 一组中的第一个
     4     $('h1').html('hello');  //赋值 : 一组中的所有元素
     5 });
     6 </script>
     7 </head>
     8 <body>
     9 <h1>hi_1</h1>
    10 <h1>hi_2</h1>
    11 <h1>hi_3</h1>
    12 <h1>hi_4</h1>
    13 <h1>hi_5</h1>
    14 </body>

    10.Jquery的事件-----mouseover,one,toggle,hide,show等函数

     one()

    1 $(function(){
    2     /*$('div').bind('click mouseover',function(){    //第一个参数是执行什么事件--可以是多个事件叠加,第二个参数执行函数
    3         alert(123);
    4     });*/
    5     $('div').one('click',function(ev){    //只执行一次
    6         alert(ev.pageX);    //pageX获取鼠标坐标
    7         return false;          //即可以阻止冒泡,和默认事件
    8     });
    9 });

    toggle

    1 $(function(){
    2     $('input').toggle(function(){    //执行多次,执行完以后循环
    3         $('div').hide();
    4     },function(){
    5         $('div').show();
    6     });
    7 });

    11.元素的移形换位

    1 $(function(){
    2     //$('div').insertAfter($('p'));//把div插入到p后面
    3     $('p').after($('div'));    //p在div的后面
    4     //$('div').insertAfter($('p')).css('background','red');
    5     //$('p').after($('div')).css('background','red');  //操作元素不同了
    6 });

    12.Jquery插件

    slideup和slidedown

     1 $(function(){
     2 
     3     $('input').toggle(function(){
     4     
     5         //$('div').fadeOut();
     6         $('div').slideUp(4000);
     7     
     8     },function(){
     9     
    10         //$('div').fadeIn();
    11         $('div').slideDown();
    12     
    13     });
    14 
    15 });

    hover(),stop()函数

     1 $(function(){
     2 
     3     $('div').hover(function(){
     4     
     5         $(this).stop().animate({
     6         
     7             width : 300,
     8             height : '300px'
     9         
    10         });
    11     
    12     },function(){
    13     
    14     
    15         $(this).stop().animate({
    16         
    17             width : 200,
    18             height : '200px'
    19         
    20         });
    21     
    22     });
    23     
    24 });

    JQuery拖拽---但是要引入Jquery UI库,导入库之后,可以直接使用写好的拖拽事件

    1 $(function(){
    2 
    3     $('div').draggable();
    4 
    5 });

    Jquery选项卡

     1 $(function(){
     2     
     3     $('#div1').find('input').click(function(){
     4     
     5         $('#div1').find('input').attr('class','');
     6         $('#div1').find('div').fadeOut();
     7         
     8         $(this).attr('class','active');
     9         $('#div1').find('div').eq($(this).index()).fadeIn();
    10     
    11     });
    12 
    13 });

    13.自己写Jquery插件

    第一步:

     1 (function($){
     2           
     3     
     4     $.fn.paxsterTab = function(){
     5         
     6         var This = this;  //传入this,防止this冲突
     7         
     8         $(this).find('input').click(function(){
     9     
    10             $(This).find('input').attr('class','');
    11             $(This).find('div').css('display','none');
    12             
    13             $(this).attr('class','active');
    14             $(This).find('div').eq($(this).index()).css('display','block');
    15         
    16         });
    17     };
    18     
    19           
    20 })(jQuery);

    第二步:把库直接引入

    1 <script>
    2 
    3 $(function(){
    4 
    5     $('#div1').paxsterTab();
    6 
    7 });
    8 
    9 </script>

     这篇文章算是一个简单的Jquery入门,需要学习的东西很多,最有效的方法就是实战,所以现在可以看看书,文档,积累知识。

    念念不忘,必有回响。
  • 相关阅读:
    MySQL
    关于多因子选股模型的常见问题
    T100 GR 报表常见知识点 (含套版制作)
    Oracle Round 函式 (四捨五入)
    Oracle的字串處理
    改變帳款性質別以利排序沖帳才不會有問題,把19->17,把12->17
    財務月結結帳相關檢核程式
    t100 常用公用變數
    一、自动驾驶行业概述(第一课,新认识)
    第一章 软件体系结构概论
  • 原文地址:https://www.cnblogs.com/paxster/p/3154278.html
Copyright © 2020-2023  润新知