博客列表 >PHP全栈开发课程之jQuery初体验

PHP全栈开发课程之jQuery初体验

LIWEN的博客
LIWEN的博客原创
2017年12月19日 10:46:24587浏览

一、首先介绍两个获取元素的原生js方法querySelector()和querySelectorAll()的用法

1、querySelector(’css选择器‘),用于获取选择器中的第一个元素

2、querySelectorAll(’css选择器‘),用于获取选择器中的所有元素,所以返回结果是一个数组。

   //将第一个img,设置为50px圆角
    var img = document.querySelector('img')
    img.style.borderRadius = '50px'
    //    将所有img,设置为100px圆角
    var img = document.querySelectorAll('img')
    for (var i=0;i<img.length;i++){
        img[i].style.borderRadius = '100px'
    }

二、jQuery对象

1、jquery()即简写为$(),jQuery是一个函数库,不是框架。$()是自带循环的,运行结果是数组对象。

给初学者的注意:jQuery的使用,需要在页面头部引入,远程、本地都可以。

<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

2、jQuery对象的参数

 $(选择器,上下文)===$(selector,[context])

第一个参数时选择器,第二个参数是第一个参数的取值范围,第二个是可选参数。如果第二个参数不写,则默认为文档。

$('img').css('width','100')    //选中所有img,宽度设置为100

3、jQuery事件

jQuery中的事件注册与删除:on()和off()方法的使用

001 添加事件:$('div').on('click',function(){})    ===  div.onclick (对应一下原生js的用法来进行记忆)

003 移除事件:$('div').off('事件名'),如果不传入参数,则移除所有事件,如果传入参数,则移除该类事件。

$('img').on('click',function () {    //给页面中所有img设置宽度,并移除鼠标移入时的事件
    $(this).css('width','100px')
}).off('mouseenter')

jQuery常用事件:

001 点击事件:$('img').click(function(){}),click的参数一般是一个回调函数。

      鼠标移入事件:$('img').mouseenter(function(){})

      鼠标移出事件:$('img').mouseleave(function(){})

$(document.images).mouseenter(function () {    //普通事件的添加
    $(this).hide(1000)
}).mouseleave(function () {
    $(this).show(1000)
})

002 $(DOM对象)  == juery对象,DOM对象可以直接做为juery的参数。

003 window.onload事件和ready()事件

      一个页面加载的内容,分为两块:1、页面结构:DOM树节点;2、页面所有需要的资源,包括:图片、视频、flash等。

window.onload事件需要两块内容都加载完才执行,存在问题是,当页面中有较大资源时,用户等待时间较长,造成页面假死现象。

ready()时间,在页面结构加载完之后,即开始执行,则避免了假死现在,用户体验更好。

$(document).ready(function () {
        alert('准备就绪!')
    })

三、jQuery对象与DOM对象之间的转换

1、DOM对象是DOM树中的节点,可以直接使用原生的JS进行操作

2、jQuery对象:由工厂函数$()创建

3、将DOM对象转为jQuery对象的方法,就是把DOM对象作为参数传递给$函数

4、将jQuery对象转为DOM对象:jquery对象返回的值永远是一个数组,将这个数组打散,它就是一个个独立的DOM对象。

      另外,jquery自己提供了一个get方法,也可以实现对象转换为DOM对象:

      如:$('img').get(i).style.borderRadius = '150px',注意get后面是圆括号,不是方括号获取元素的索引。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <title>jQuery初体验</title>
</head>
<style>
    ul li {
        float: left;
        display: inline;
        margin-left: 10px;
    }
</style>
<body>
<ul>
    <li><img src="images/shu1_library2017.jpg" alt=""></li>
    <li><img src="images/shu2_library2017.jpg" alt=""></li>
    <li><img src="images/shu3_library2017.jpg" alt=""></li>
    <li><img src="images/shu4_library2017.jpg" alt=""></li>
</ul>
</body>
<script>
    //1. 原生querySelector()与querySelectorAll()获取元素实例
//    //将第一个img,设置为50px圆角
 var img = document.querySelector('img')
    img.style.borderRadius = '50px'
////
////    将所有img,设置为100px圆角
 var img = document.querySelectorAll('img')
    for (var i=0;i<img.length;i++){
        img[i].style.borderRadius = '100px'
 }

    //2.jQuery对象的参数与基本语法,ready()事件注册实例
    //jQuery是一个函数库,不是框架。首先要在文档头部引入才可以使用(远程或本地引入均可)。jquery是一个工厂函数,简写:$
 $('img')[0].style.borderRadius = '50px'  // ===  $('img',document)[0].style.borderRadius
 $('img').css('width','100')    //选中所有img,宽度设置为100

 var img = $('img')
      for (var i=0;i<img.length;i++){
          img[i].style.borderRadius = '150px'
 }

    //3. jQuery中的事件注册与删除: on()和off()方法的使用
 $(document.images).mouseenter(function () {    //普通事件的添加
 $(this).hide(1000)
    }).mouseleave(function () {
        $(this).show(1000)
    })
//
 $('img').on('click',function () {
            $(this).css('width','100px')
        }).off('mouseenter')

    $('img').click(function () {
        $(this).css('width','100px')
    })
//reday()事件注册,放在head中和放在这里,速度差不多。
 $(document).ready(function () {
            alert('准备就绪!')
        })

</script>
</html>


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议