jQueryHTML与插件

目录:

注册事件
委托事件
事件对象event
each()方法
jQuery.each() 函数用于遍历指定的对象和数组
jQuery 对HTML的设置与捕获
text()、html() 以及 val() 的回调函数
jQuery 对HTML的页面尺寸操作  
width() 和 height() 方法
innerWidth() 和 innerHeight() 方法
outerWidth() 和 outerHeight() 方法
scrollTop() 和 scrollLeft() 方法
jQuery添加元素和删除元素
jquery插件的认识
jquery.color.js的使用
jquery.lazyload.js的使用
jquery.ui.js的使用
ECharts的使用

 

1、jQuery 事件机制

1、注册事件

bind() 、on() 方法向被选元素添加一个或多个事件处理程序,以及当事件发生时运行的函数。

 $("#header1").bind({

    mouseover() {

      $(this).css("background-color", "blue");

    },

    mouseout() {

      $(this).css("background-color", "black");

    }

  })

 $("p").on("click",function(){ alert("段落被点击了。"); });

2、委托事件

delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数

$("div").delegate("p","click",function(){
    $("p").css("background-color","pink");
});

3、事件对象event

event对象有以下属性

type:事件类型,比如click

which:触发该事件的鼠标按钮或键盘的键。

target:事件发生的初始对象。

data:传入事件对象的数据。

pageX:事件发生时,鼠标位置的水平坐标(相对于页面左上角)。

pageY:事件发生时,鼠标位置的垂直坐标(相对于页面左上角

$("button").click(function(event){

          console.log(evet);

    });

4、each()方法

each() 方法为每个匹配元素规定要运行的函数。

$("button").click(function(){

$("li").each(function(){

alert($(this).text())

});  

});

5、jQuery.each() 函数用于遍历指定的对象和数组。

  // $.each(数组或对象,回调函数)

  var arr = [10, 20, 30, 40];

  $.each(arr, function (index, value) {

    console.log(`我是第${index + 1}元素,值是${value}`);

  })

  let obj = {

    name: "小",

    age: 15,

    eat() {

      return 1;

    }

  }

  $.each(obj, (key, value) => {

    console.log(`${key}:${value}`);

  })

2、jQuery 对HTML的设置与捕获

jQuery 中非常重要的部分,就是操作 DOM 的能力。

jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。

1、html()

html() - 设置或返回所选元素的内容(包括 HTML 标记)。

$("#btn2").click(function(){

 alert("HTML: " + $("#test").html());

});

$("#btn2").click(function(){

$("#test2").html("<b>Hello world!</b>");

});

2、text()

text() - 设置或返回所选元素的文本内容

$("#btn1").click(function(){

alert("Text: " + $("#test").text());

});

$("#btn1").click(function(){

$("#test1").text("Hello world!");

});

3、val()

val() - 设置或返回表单字段的值

$("#btn1").click(function(){

alert("值为: " + $("#test").val());

});

$("#btn3").click(function(){

$("#test3").val("RUNOOB");

});

4、text()、html() 以及 val() 的回调函数

上面的三个 jQuery 方法:text()html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

$("#btn1").click(function(){

$("#test1").text(function(index, currentcontent){

       console.log("索引"+index);

       console.log(""+element);

});

5、attr()、prop()

attr() prop()方法用于获取和返回属性值。

$("button").click(function(){ alert($("#runoob").attr("href")); });

$("button").click(function(){ $("#runoob").attr("href","http://www.runoob.com/jquery"); });

具有 true false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr().attr不仅可以返回(设置)元素的原生属性,还可以返回(设置)自定义属性。

3、jQuery 对HTML的页面尺寸操作  

通过 jQuery,很容易处理元素和浏览器窗口的尺寸。

jQuery 尺寸:

 

1、width() 和 height() 方法

width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。

height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

$("button").click(function(){

"div 的宽度是: " + $("#div1").width() + "</br>";

    "div 的高度是: " + $("#div1").height(20);

});

2、innerWidth() 和 innerHeight() 方法

innerWidth() 方法返回元素的宽度(包括内边距)。

innerHeight() 方法返回元素的高度(包括内边距)。

$("button").click(function(){

"div 宽度,包含内边距: " + $("#div1").innerWidth();

"div 高度,包含内边距: " + $("#div1").innerHeight();

});

3、outerWidth() 和 outerHeight() 方法

outerWidth() 方法返回元素的宽度(包括内边距和边框)。

outerHeight() 方法返回元素的高度(包括内边距和边框)。

$("button").click(function(){

txt+="div 宽度,包含内边距和边框: " + $("#div1").outerWidth()

        txt+="div 高度,包含内边距和边框: " + $("#div1").outerHeight();

    });

5、scrollTop() 和 scrollLeft() 方法

scrollTop() 方法设置或者返回滚动条被卷去的元素的高度

scrollLeft() 方法设置或者返回滚动条被卷去的元素的宽度

$("button").click(function(){ alert($("div").scrollTop()); });

4、jQuery添加元素和删除元素

  1. 、append()方法

 append() 方法在被选元素的结尾插入内容(仍然在该元素的内部)  

$("ol").append("<li>追加列表项</li>");

2、prepend() 方法

 prepend() 方法在被选元素的开头插入内容。

$("ol").prepend("<li>追加列表项</li>");

3、after() 和 before() 方法

jQuery after() 方法在被选元素之后插入内容。

jQuery before() 方法在被选元素之前插入内容。

$("img").before("<b>之前</b>");

$("img").after("<i>之后</i>");

4、删除元素/内容

remove() - 删除被选元素(及其子元素)

empty() - 从被选元素中删除子元素

empty()把子元素删除掉了。本身没有删除掉。所以本身占位置

remove()把自己和子元素都删除掉了。本身已删除掉。所以不占位置

5、jquery插件的认识

(1)、插件

jquery不可能包含所有的功能,我们可以通过插件扩展jquery的功能。

jquery有着丰富的插件,使用这些插件能给jquery提供一些额外的功能。

6、jquery.color.js的使用

  1. 、引入js文件

jquery中的animate动画本身不支持变色,但是jquery.color.js弥补了这一缺陷。

.color.js 依赖于 jQuery. 所以需要先引用jqueryjs

<script src="jquery.min.js"></script>

<script src="jquery.color.js"></script>

  1. 、示例

$("button").on("click", function () {

                $("div").animate({"width":200,"background-color":"red"},2000,                 function () {

                       alert("动画结束");

                });

            });

 7、jquery.lazyload.js的使用 

(1)、引入js文件

很多网站都会用到‘图片懒加载’这种方式对网站进行优化,即延迟加载图片或符合某些条件才开始加载图片。
         懒加载原理:浏览器会自动对页面中的img标签的src属性发送请求并下载图片。通过动态改变imgsrc属性实现。它可以延迟加载长页面中的图片在浏览器可视区域外,图片不会被载入,直到用户将页面滚动到它们所在的位置。
与图片预加载的处理方式相反,在包含很多大图片长页面中延迟加载图片可以加快页面加载速度,尤其是移动端。浏览器将会在加载可见图片之后即进入就绪状态,在淘宝商品详情页、漫画网站很多图片的情况下还可以帮助降低服务器负担。

<script src="jquery.min.js"></script>

<script src="jquery.lazyload.js"></script>

(2)、示例

<img alt="" width="640" height="480" data-original="img/test.jpg" />

$(function() {
        $("img").lazyload();
    });

8、jquery.ui.js的使用

..jQuery UI是什么?

jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题。无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery UI 都是一个完美的选择。

jQuery UI 包含了许多维持状态的小部件(Widget),因此,它与典型的 jQuery 插件使用模式略有不同。所有的 jQuery UI 小部件(Widget)使用相同的模式,所以,只要您学会使用其中一个,您就知道如何使用其他的小部件(Widget)。

..引入

下载zip包并解压,通常情况下,您需要在页面中引用这三个文件,以便使用 jQuery UI 的窗体小部件和交互部件:

          <link rel="stylesheet" href="jquery-ui-1.12.1/jquery-ui.css" />
          <script src="js/jquery-1.11.1.min.js"></script>
          <script src="jquery-ui-1.12.1/jquery-ui.min.js"></script>

..操作日期选择器

一旦您引用了这些必要的文件,您就能向您的页面添加一些 jQuery 小部件。比如,要制作一个日期选择器(datepicker)小部件,您需要向页面添加一个文本输入框,然后再调用 .datepicker(),如下所示:

          <input type="text" name="date" id="date" />
           $( "#date" ).datepicker();

..拖动

允许鼠标拖动元素,在任意的 DOM 元素上启用 draggable 功能。通过鼠标点击并在视区中拖动来移动 draggable 对象。

  $(function() {
    $( "#draggable" ).draggable();
  });

9、ECharts的使用

(1)、ECharts是什么?

ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。

ECharts 遵循 Apache-2.0 开源协议,免费商用。

ECharts 兼容当前绝大部分浏览器(IE8/9/10/11ChromeFirefoxSafari等)及兼容多种设备,可随时随地任性展示。

                                                                                                                                   

(2)、ECharts特性

1丰富的可视化类型: 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

2多种数据格式无需转换直接使用: 内置的 dataset 属性(4.0+)支持直接传入包括二维表,key-value 等多种格式的数据源,此外还支持输入 TypedArray 格式的数据。

3据的前端展现                        

4移动端优化

5多渲染方案,跨平台使用

6动态数据: 数据的改变驱动图表展现的改变。

7绚丽的特效: 针对线数据,点数据等地理数据的可视化提供了吸引眼球的特效。

(3)、ECharts安装

1、官网下载然后引入

完全版:echarts/dist/echarts.js,体积最大,包含所有的图表和组件,所包含内容参见:echarts/echarts.all.js

常用版:echarts/dist/echarts.common.js,体积适中,包含常见的图表和组件,所包含内容参见:echarts/echarts.common.js

精简版:echarts/dist/echarts.simple.js,体积较小,仅包含最常用的图表和组件,所包含内容参见:echarts/echarts.simple.js

2、使用CND方法

Staticfile CDN(国内) : https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js

(4)、配置语法

第一步:创建 HTML 页面

创建一个 HTML 页面,引入 echarts.min.js

<!DOCTYPE html><html><head>

    <meta charset="utf-8">

    <!-- 引入 ECharts 文件 -->

    <script src="echarts.min.js"></script></head></html>

第二步: ECharts 准备一个具备高宽的 DOM 容器

实例中 id main div 用于包含 ECharts 绘制的图表:

<body>

    <!-- ECharts 准备一个具备大小(宽高)的 DOM -->

    <div id="main" style="width: 600px;height:400px;"></div></body>

第三步: 设置配置信息

ECharts 库使用 json 格式来配置。

echarts.init(document.getElementById('main')).setOption(option);

这里 option 表示使用 json 数据格式的配置来绘制图表。步骤如下:

标题

为图表配置标题:

title: {

    text: '第一个 ECharts 实例'}

提示信息

配置提示信息:

tooltip: {},

图例组件

图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。

legend: {

    data: [{

        name: '系列1',

        // 强制设置图形为圆。

        icon: 'circle',

        // 设置文本为红色

        textStyle: {

            color: 'red'

        }

    }]}

X

配置要在 X 轴显示的项:

xAxis: {

    data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]}

Y

配置要在 Y 轴显示的项。

yAxis: {}

系列列表

每个系列通过 type 决定自己的图表类型:

series: [{

    name: '销量',  // 系列名称

    type: 'bar',  // 系列图表类型

    data: [5, 20, 36, 10, 10, 20]  // 系列中的数据内容}]

每个系列通过 type 决定自己的图表类型:

type: 'bar':柱状/条形图

type: 'line':折线/面积图

type: 'pie':饼图

type: 'scatter':散点(气泡)图

type: 'effectScatter':带有涟漪特效动画的散点(气泡)

type: 'radar':雷达图

type: 'tree':树型图

type: 'treemap':树型图

type: 'sunburst':旭日图

type: 'boxplot':箱形图

type: 'candlestick'K线图

type: 'heatmap':热力图

type: 'map':地图

type: 'parallel':平行坐标系的系列

type: 'lines':线图

type: 'graph':关系图

type: 'sankey':桑基图

type: 'funnel':漏斗图

type: 'gauge':仪表盘

type: 'pictorialBar':象形柱图

type: 'themeRiver':主题河流

type: 'custom':自定义系列

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值