zoukankan      html  css  js  c++  java
  • 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入门,需要学习的东西很多,最有效的方法就是实战,所以现在可以看看书,文档,积累知识。

    念念不忘,必有回响。
  • 相关阅读:
    Swift3 重写一个带占位符的textView
    Swift3 使用系统UIAlertView方法做吐司效果
    Swift3 页面顶部实现拉伸效果代码
    Swift3 倒计时按钮扩展
    iOS 获取当前对象所在的VC
    SpringBoot在IDEA下使用JPA
    hibernate 异常a different object with the same identifier value was already associated with the session
    SpringCloud IDEA 教学 番外篇 后台运行Eureka服务注册中心
    SpringCloud IDEA 教学 (五) 断路器控制台(HystrixDashboard)
    SpringCloud IDEA 教学 (四) 断路器(Hystrix)
  • 原文地址:https://www.cnblogs.com/paxster/p/3154278.html
Copyright © 2011-2022 走看看