jQuery第四天

课程回顾:

​ 元素操作:

​ 遍历元素:

​ $(‘元素’).each(function (index, elm) {});

​ $.each(对象,function (index, elm) {});

​ 创建元素:$(‘

  • 新的元素
  • ?’);

    ​ 添加元素:

    ​ 内部添加:append,appendTo,prepend,prependTo

    ​ 外部添加:after,before

    ​ 删除元素:remove,empty,html(’’);

    ​ 元素尺寸:width,innerWidth,outerWidth,outerWidth(true);

    ​ 元素位置:

    ​ 偏移位置:offset,position

    ​ 卷起位置:scrollTop

    ​ parents:获取所以上级元素

    每日反馈

    小计:小计 = 单价 * 数量数量:获取输入框里面的数量单价:获取内容,获取之后要吧纯数字部分截取出来小计:链接¥,并且要保留两位有效数字
    总计:总件数:把所以输入框里面的数量相加,放到页面中总价格:把所有小计里面的数相加,放到页面中
    

    案例:品优购电梯导航

    ①当我们滚动到 今日推荐 模块,就让电梯导航显示出来②点击电梯导航页面可以滚动到相应内容区域③核心算法:因为电梯导航模块和内容区模块一一对应的④当我们点击电梯导航某个小模块,就可以拿到当前小模块的索引号⑤就可以把animate要移动的距离求出来:当前索引号内容区模块它的offset().top⑥然后执行动画即可
    
    第二部分:①当我们点击电梯导航某个小li, 当前小li 添加current类,兄弟移除类名②当我们页面滚动到内容区域某个模块, 左侧电梯导航,相对应的小li模块,也会添加current类, 兄弟移除current类。③触发的事件是页面滚动,因此这个功能要写到页面滚动事件里面。④需要用到each,遍历内容区域大模块。 each里面能拿到内容区域每一个模块元素和索引号⑤判断的条件:  被卷去的头部 大于等于 内容区域里面每个模块的offset().top⑥就利用这个索引号找到相应的电梯导航小li添加类。
    

    jQuery 事件

    目标:

    能够说出4种常见的注册事件 能够说出 on 绑定事件的优势能够说出 jQuery 事件委派的优点以及方式能够说出绑定事件与解绑事件

    jQuery事件注册

    语法:element.事件(function(){})

    $(“div”).click(function(){  事件处理程序 }) 
    

    其他事件和原生基本一致。

    比如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll 等

    事件处理 on() 绑定事件

    on() 方法在匹配元素上绑定一个或多个事件的事件处理函数

    语法:element.on(events,[selector],fn)

    \1. events:一个或多个用空格分隔的事件类型,如"click"或"keydown" 。\2. selector: 元素的子元素选择器 。\3. fn:回调函数 即绑定在元素身上的侦听函数。 
    

    on() 方法优势1:

    1、可以绑定多个事件,多个处理事件处理程序。

     $(“div”).on({mouseover: function(){},mouseout: function(){},click: function(){} });       
    

    on() 方法优势2:

    可以事件委派操作。事件委派的定义就是,把原来加给子元素身上的事件绑定在父元素身上,就是把事件委派给父元素。

    $('ul').on('click', 'li', function() {alert('hello world!');}); 

    在此之前有bind(), live(),delegate()等方法来处理事件绑定或者事件委派,最新版本的请用on替代他们。

    on() 方法优势3:

    动态创建的元素,click()没有办法绑定事件,on() 可以给动态生成的元素绑定事件

     $(“div").on("click",”p”, function(){alert("俺可以给动态生成的元素绑定事件")});

    案例:发布微博案例

    ①点击发布按钮, 动态创建一个小li,放入文本框的内容和删除按钮, 并且添加到ul 中。

    ②点击的删除按钮,可以删除当前的微博留言。

    事件处理 off() 解绑事件

    off() 方法可以移除通过 on() 方法添加的事件处理程序。

    $("p").off() // 解绑p元素所有事件处理程序$("p").off( "click")  // 解绑p元素上面的点击事件 后面的 foo 是侦听函数名$("ul").off("click", "li");   // 解绑事件委托
    

    如果有的事件只想触发一次, 可以使用 one()来绑定事件。

    // 给input添加点击事件,但是这个事件只要触发1次就够$('input').one('click', function () {console.log('哇哈哈');});解绑:off,
    一次性:one
    

    自动触发事件trigger()

    有些事件希望自动触发, 比如轮播图自动播放功能跟点击右侧按钮一致。可以利用定时器自动触发右侧按钮点击事件,不必鼠标点击触发

    element.click() // 第一种简写形式

    element.trigger(“type”)//第二种自动触发模式

    element.triggerHandler(‘type)’ // 第三种自动触发事件【不会触发事件元素的默认效果】

    $("p").on("click", function () {alert("hi~");}); $("p").trigger("click"); // 此时自动触发点击事件,不需要鼠标点击
    

    element.triggerHandler(type) // 第三种自动触发模式

    triggerHandler模式不会触发事件的默认效果行为,这是和前面两种的区别。

    $('input').focus(function () {console.log(123);});// $('input').focus();// $('input').trigger('focus');$('input').triggerHandler('focus');
    

    上午回顾:

    ​ jQuery事件:

    ​ 注册事件:

    ​ $(元素).click(function () {});

    ​ $(元素).on(‘事件类型’, [后代元素], function () {});

    ​ // 用on的又是:1.可以多事件同时绑定,2.事件委派,3.如果动态创建的元素可以有事件

    ​ 解绑事件:

    ​ off:如果不加参数意思都解除,如果加参数解除指定的事件,可以解除事件委派

    ​ one:一次性事件

    ​ 自动触发事件:

    ​ $(元素).click();

    ​ $(元素).trigger(‘事件类型’);

    ​ $(元素).triggerHandler(‘事件类型’)

    jQuery事件对象

    事件被触发,就会有事件对象的产生。

    事件出发时,产生的特殊的对象

    【event==》事件对象】

    element.on(events,[selector],function(event){})
    
    阻止默认行为:event.preventDefault()   或者 return  false 阻止冒泡: event.stopPropagation() 
    

    释放$符号

    var jq = $.noConflict();<script type="text/javascript">// $('input');var jq = $.noConflict();console.log( jq('input') );</script>
    

    jQuery 其他方法

    jQuery 插件

    jQuery插件

    jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。 注意: 这些插件也是依赖于jQuery来完成的,所以必须要先引入jQuery文件,因此也称为 jQuery 插件。**jQuery** **插件常用的网站:**1.  jQuery 插件库  http://www.jq22.com/  2.  jQuery 之家   http://www.htmleaf.com/  **jQuery** **插件使用步骤:**1.  引入相关文件。(jQuery 文件 和 插件文件)2.  复制相关html、css、js (调用插件)。
    

    瀑布流:

    瀑布流
    

    图片懒加载或者(BOOTSTRAP插件)

    (图片使用延迟加载在可提高网页下载速度。它也能帮助减轻服务器负载)

    当我们页面滑动到可视区域,再显示图片。

    我们使用jquery 插件库 EasyLazyload。 注意,此时的js引入文件和js调用必须写到 DOM元素(图片)最后面

    注意:1、要引入JQuery2、插件JS【js引入文件和js调用必须写到 DOM元素(图片)最后面】3、将图片 src 替换为 data-lazy-src1、ctrl + H2、查找img的src(因为这里面还有script的src)3、替换的时候要和查找的时候保存格式相同4、调用lazyLoadInit()
    

    BOOTSTRAP插件

    1、引入CSS、引入JQ、引入JS2、.container3、复制粘贴

    知识点:

    本地存储技术:

    localSortage对象:把数据以字符串的方式保存本地获取: localStorage.getItem()设置: localStorage.setItem()
    

    JSON 方法补充

    作用:把字符串数组转成数组,或者把数组转成字符串数组例如:var str = '[{"name":"张三丰"},{"name":"李寻欢"},{"name":"乔峰"}]';JSON 解析:JSON.parse():返回转换后的数组JSON 转字符串:JSON.stringify();<script type="text/javascript">var str = '[{"name":"张三丰"},{"name":"李寻欢"},{"name":"乔峰"}]';// console.log(str);// 转成数组var arr = JSON.parse(str);// console.log( arr );var newStr = JSON.stringify(arr);console.log(newStr);</script>
    

    课程回顾:

    ​ jQuery注册事件:

    ​ $(元素).click(function () {})

    ​ $(元素).on(‘click’,[委派元素],function () {});

    ​ 一次性:one

    ​ jQuery解绑事件:off

    ​ 自动触发:

    ​ 简写:$(元素).click()

    ​ 触发:$(元素).trigger(‘click’);

    ​ 触发:$(元素).triggerHandler(‘click’);

    ​ jQuery事件对象:如果要用事件对象,那么我们直接再函数中设置形参接受即可

    ​ 释放符号:var jq = $.noConflict();

    ​ jQuery成品插件:很多

    知识点:

    ​ 本地存储技术:localStorage.setItem(‘键’,‘值’);localStorage.getItem(‘键’);

    ​ JSON方法:JSON.parse,JSON.stringify

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

navigationController的NavigationBar和ToolBar的POP或PUSH消失问题

今天在工作中发现一个坑&#xff0c; 其他页面都是隐藏。YSViewController 使用的时候必须是需要 navigationBar 和 toorbar&#xff0c;但是 pop出这个viewcontroller后&#xff0c;需要隐藏navigationBar 和 toorbar&#xff0c;但是直接设置为hiddenYES会出现其他页面压栈出…

实验二:Linux下Xen环境的安装

实验名称&#xff1a; Linux下Xen环境的安装&#xff08;centOS7&#xff09; 实验环境&#xff1a; 本次实验基本是在centOS7的环境下完成&#xff0c;系统内核和系统版本如下&#xff1a; 实验要求&#xff1a; 为centOS7的环境下安装Xen的平台&#xff0c;能够正常使用Xen下…

IDEA写vue项目出现红色波浪线警告如何解决??

1.看图 2.希望对大家有帮助&#xff0c;只要修改了这个就可以&#xff0c;如有任何问题都可以留言&#xff0c;谢谢大家 2019-09-1923:54:11 作者&#xff1a;何秀好 转载于:https://www.cnblogs.com/itboxue/p/11553395.html

数据可视化(BI报表的开发)第一天

课程回顾&#xff1a; ​ jQuery事件注册&#xff1a; ​ $(元素).click(function () {}); ​ $(元素).on(‘click’, [后代元素], function () {}); ​ $(元素).one(‘click’, function () {}); ​ 解绑事件&#xff1a;off ​ 自动触发&#xff1a; ​ $(元素).click…

在Block中使用weakSelf与strongSelf的意义

在Block中使用weakSelf与strongSelf的意义 我们都会声明一个弱引用在block中使用, 目的就是防止循环引用, 那么weakSelf与strongSelf一起使用目的是什么呢? 首先先定义2个宏: #define YXWeakSelf(type) __weak typeof(type) weak##type type; #define StrongSelf(type) __…

操作系统原理之操作系统简介(第一章)

一、 什么是操作系统 操作系统&#xff1a;是一种复杂的系统软件&#xff0c;是不同程序代码、数据结构、数据初始化文件的集合&#xff0c;可执行。 操作系统是用户与硬件之间的接口&#xff1a;操作系统与硬件部分相互作用&#xff0c;并且为运行在计算机上的应用程序提供执行…

数据可视化(BI报表的开发)第二天

9、公用面板样式 所有的面板的基础样式是一致的&#xff0c;提前布局好。 面板 .panel &#xff1a;box-sizing&#xff0c;边框图&#xff0c;大小&#xff0c;定位【51 38 20 132】容器 .inner&#xff1a;padding&#xff1a;24&#xff0c;36&#xff0c;定位外部拉宽标…

关于Xcode 7.3 7.3.1 断点 卡死 无限菊花

关于Xcode 7.3 7.3.1 断点 卡死 无限菊花 只要一打断点,就无限卡死,变量区一直菊花在转,只有强制退出Xcode才能重新编译,找了Google和Stack OvewFlowe依然没有解决办法. 删除项目,重新安装Xcode,重新运行程序一切办法都解决不到,百度上说的"build setting中将Enable Clang…

html5+hbuilder+夜神模拟器+webview

HTML5 Plus应用概述 首先新建一个移动App项目&#xff0c;文件-->新建-->移动APP HTML5 Plus移动App&#xff0c;简称5App&#xff0c;是一种基于HTML、JS、CSS编写的运行于手机端的App&#xff0c;这种App可以通过扩展的JS API任意调用手机的原生能力&#xff0c;实现与…

第十九节:Asp.Net Core WebApi知识总结(一)

111 转载于:https://www.cnblogs.com/yaopengfei/p/11558525.html

iOS设计模式 ——单例模式详解以及严格单例模式注意点

一、我们常用的单例有哪些&#xff1f; [[UIApplication sharedApplication] statusBarStyle];//系统中的单例模式&#xff0c;通过它获取到状态栏的style [NSNotificationCenter defaultCenter] addObserver:<#(nonnull id)#> selector:<#(nonnull SEL)#> name:&…

科学计算库学习报告

numpy与matplotlib的学习随笔 我爱代码 import numpy as npimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams[font.family]SimHeimatplotlib.rcParams[font.sans-serif][SimHei]labelsnp.array([第一次,第二次,第三次,第四次,第五次,第六次])nAttr6datanp…

前端网页 — 初始化文件

/*--------------------------初始化代码*/ /*清除默认的margin和padding*/ * {margin: 0;padding: 0; }/*清除小圆点*/ ul {list-style: none; }/*清除a标签默认的下划线*/ a {text-decoration: none; }/*表格边框合并*/ table {border-collapse: collapse; }/*去除input标签点…

数据库系统原理(第二章关系数据库 )

一、关系数据库概述 20世纪80年代后&#xff0c;在商用数据库管理系统中&#xff0c;&#xff08; 关系模型 &#xff09;逐渐取代早 期的网状模型和层次模型&#xff0c;成为主流数据模型 SQL3&#xff08;SQL-99&#xff09;:1999年 SQL2&#xff08;SQL-92&#xff09;&…

iOS NSMutableAttributedString常用方法总结

NSAttributedString 叫做富文本&#xff0c;是一种带有属性的字符串&#xff0c;通过它可以轻松的在一个字符串中表现出多种字体、字号、字体大小等各不相同的风格&#xff0c;还可以对段落进行格式化&#xff0c;一般都是对可变富文本&#xff08;NSMutableAttributedString&a…

微信小程序image bindload事件失效不触发

1.先上代码 <template><div :class"[img-wrapper, className]"><img :src"defaultSrc" :mode"mode" class"default-img" :hidden"loaded"><img :src"src" :mode"mode" load"…

数据可视化(BI报表的开发)第三天

20、销售统计-布局 html结构&#xff1a; <!-- 销售额 --><div class"sales panel"><div class"inner"><div class"caption"><h3>销售额统计</h3><a href"javascript:;" class"active&q…

软件开发工具(第1章:绪论)

一、 软件开发工具的由来 计算机语言和软件开发工具的发展和历史 机器语言&#xff08;第一代语言&#xff09;&#xff1a;难以记忆的、无意义的、二进 制的字符串 汇编语言&#xff08;第二代语言&#xff09;针对难以记忆的、无意义的、二进 制的字符串、人们试图用英语中具…

Swift傻傻分不清楚系列(一)常量与变量

菜鸟从零开始认识学习Swift。感谢大神们翻译的文档。搬到自己小黑屋里慢慢看~~~ 本页包含内容&#xff1a; 常量和变量声明常量和变量类型标注常量和变量的命名输出常量和变量注释分号 Swift 是一门开发 iOS, OS X 和 watchOS 应用的新语言。然而&#xff0c;如果你有 C 或者 …

Saiku Table展示数据合并bug修复(二十五)

Saiku Table展示数据合并bug修复 Saiku以table的形式展示数据&#xff0c;如果点击了 非空的字段 按钮&#xff0c;则会自动进行数据合并&#xff0c;为空的数据行以及数据列都会自动隐藏掉。 首先我们应该定位问题&#xff1a; 1.查看接口返回值&#xff0c;会发现接口返回都正…