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

练习题:

先找出字符串 ‘8587263747153203552943982’ 中出现次数最多的数字及次数,然后去重后并排序(不准使用sort),使得到结果为 ‘0123456789’。

要求1:找到出现最多的数字和出现的次数

// 1、找出出现次数最多的数字,出现了几次// 思路:{数字:次数}{8:2,5:2,7:1},把数字当做对象键,值统计累加// 定义了一个空对象,往里面保存内容var obj = {};// 遍历:可以和数组一毛一样for (var i = 0; i < str.length; i++) {// str[i]:吧这个当做对象的属性名// 如果obj对象有了这个属性,那么就让其值加加,// 如果没有这个属性,就给obj这个对象添加上这个属性,并且值是1if (obj[str[i]]) {obj[str[i]]++;} else {obj[str[i]] = 1;}}console.log( obj );// 现在obj对象已经吧字符统计出来了var max = 0;// max就是假设值最大值(最多次数)var num = 0;// 出现最多次数的数字// 遍历对象for (key in obj) {// obj = {2 :3}if (max < obj[key]) {max = obj[key];// 最多次数num = key;}}// console.log( '出现最多的是' + num + '次数是' + max );for (key in obj) {if (obj[key] == max) {console.log(key);}}

要求2:去除字符串中重复的数字

要求3:对去重后的字符串排序

var str = '8587263747153203552943982';// 2、吧字符串重复的去除// console.log( str.indexOf('a') );// 查找首次出现的索引位置,如果找到返回索引值,找不到返回-1var newStr = '';// 思路:把str每个字符遍历出来,遍历出来之后在newStr里面去查找有木有,// 如果木有我们就给newStr连接上这个新的字符就可以for (var i = 0; i < str.length; i++) {// 如果newStr里面没有str[i],就给newStr连接上这个新的即可if ( newStr.indexOf(str[i]) == -1 ) {newStr = newStr + str[i];}}console.log( newStr );// 3、去除重复的字符之后,排序var arr = newStr.split('');// console.log(arr);for (var i = 0; i < arr.length; i++) {for (var j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j+1]) {var temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}console.log( arr.join('') );

核心知识点

  • touch事件(touchstart、touchmove、touchend)
  • touchEvent 事件对象
  • transitionend事件

1. touch事件类型

移动设备上无法使用鼠标,当手指触碰屏幕时会触发 click、mousedown、mouseup 事件。

但是,touch事件要比鼠标事件执行效率高,用户体验好。

注意:以下事件必须通过事件监听注册

事件添加:

​ 元素.onclick = function () {}

​ 元素.addEventlistener(‘click’,function (){});

  • touchstart,手指按下事件
  • touchmove,手指移动事件
  • touchend,手指松开事件
	// 手指按下document.addEventListener('touchstart', function () {console.log('手指按下');});// 手指移动document.addEventListener('touchmove', function () {console.log('手指移动');});// 手指抬起document.addEventListener('touchend', function () {console.log('手指抬起');});

```js
<script type="text/javascript">// touch事件对象document.addEventListener('touchstart', function (e) {// console.log( e );// 屏幕手指列表console.log( e.touches[0] );// 元素上的手指列表console.log( e.targetTouches[0] );// 改变的手指列表console.log( e.changedTouches[0] );});// touchenddocument.addEventListener('touchend', function (e) {// 屏幕手指列表console.log( e.touches[0] );// 元素上的手指列表console.log( e.targetTouches[0] );// 改变的手指列表console.log( e.changedTouches[0] );});</script>
## 2. touch事件对象+ 常见的属性> 1. 事件对象.touches :位于屏幕上的所有手指的列表;> 2. 事件对象.targetTouches :位于该元素上的所有手指的列表;> 3. 事件对象.changedTouches:被改变的手指列表。  touchstart时包含刚与触摸屏接触的触点,touchend时包含离开触摸屏的触点>> touches和targetTouches必须是在屏幕上,而changedTouches可以获取离开屏幕的手指的>+ 手指的位置> 1. 手指对象.clientX/Y 手指相对于可视区域> 2. 手指对象.pageX/Y 手指相对于文档>> **注意:手指对象.clientX/Y 使用较多** 

document.addEventListener(‘touchstart’, function (e) {
// 打印手指位置
// 手指对象
console.log( e.touches[0].clientX, e.touches[0].clientY );
console.log( e.touches[0].pageX, e.touches[0].pageY );
});


## 3.常见的手势> ​	注意:以下手势的实现是在touch事件基础上。我们不需要自己实现以下所有手势,有专门的第三方可以直接拿来使用。
>
> ​	以下手势仅仅是了解。

在这里插入图片描述

案例:

模拟tap手势(点击)

// 两个事件:手指按下,手指松开
// 如果是点击:手指按下的x和y位置,和手指松开的x和y位置是相同
// 手指按下
var startx,starty;
document.addEventListener(‘touchstart’, function (e) {
// 获取x和y
startx = e.touches[0].clientX;
starty = e.touches[0].clientY;
});

	// 手指松开document.addEventListener('touchend', function (e) {var endx = e.changedTouches[0].clientX;var endy = e.changedTouches[0].clientY;// 松开的时候判断if (startx == endx && starty == endy) {console.log('点击');} else {console.log('滑动');}});

模拟flick手势(轻滑)
var startxdocument.addEventListener('touchstart', function (e) {startx = e.touches[0].clientX;});// 松开document.addEventListener('touchend', function (e) {var endx = e.changedTouches[0].clientX;// 判断if (startx < endx) {console.log('右滑');} else if (startx > endx) {console.log('左滑');}});

移动端京东轮播图上午回顾:​	touch事件类型:touchstart,touchmove,touchend​	touch事件对象:e.touches,e.targetTouches,e.changedTouches​	手指位置:e.touches[0].clientX/clientY​	transitionend事件:谁有过度效果添加给谁## 4. transitionend事件

谁有过渡效果,这个事件添加给谁【事件监听】


> css中过渡结束后检测的行为
>
> 谁有过渡属性,把这个事件加给谁

``

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><style type="text/css">div {width: 100px;height: 100px;background: red;/*transition: all 2s linear;*/}</style>
</head>
<body><input type="button" value="点击"><div></div>
	<script type="text/javascript">var btn = document.querySelector('input');var div = document.querySelector('div');btn.onclick = function () {div.style.width = '600px';div.style.height = '600px';div.style.transition = '2s';}div.addEventListener('transitionend', function () {div.style.background = 'blue';div.style.transition = 'none';});</script>

Swiper 轮播图插件(手机移动端插件网)

目标

使用 swiper 快速实现轮播图效果

概念

Web 插件:就是别人封装好的一个 js 代码 或 css代码,可以直接拿来用。

Swiper 就是一个轮播图的插件,由其他团队写好的,开源免费,全世界开发者都可以使用。

Swiper插件官网: https://www.swiper.com.cn/

1、下载并且引入CSS文件和JS文件

2、复制内容

3、设置大小(可以不设置)

4、复制功能代码

zeptojs(手机移动端插件网):

https://www.html.cn/doc/zeptojs_api/
在这里插入图片描述

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

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

相关文章

网络经济与企业管理(第 1 章:企业管理概论)

一、企业的概念 什么是企业&#xff1f; 1.企业以市场为导向&#xff0c;以价值增值作为经济活动的目的 2.企业是从事商品生产和流通的经济组织 3.企业经营过程中要自主经营、自负盈亏、独立核算和承担风险&#xff0c;具有法人资格的基本经济单位 企业发展的三个时期&#xff…

去死吧!USB转串口!!!

首先&#xff0c;这个题目有两种歧义&#xff1a;1、USB转232串口&#xff08;严格说就是这种&#xff09;&#xff01; 2、USB转USART串口&#xff08;通常都是这么叫&#xff0c;认为就是这&#xff0c;理论上是错误的&#xff0c;歧义所在&#xff09;&#xff01; USB转TTL…

IDEA微服务项目的application.yml没有绿色叶子的解决办法

1.今天在写微服务项目的时候成功入坑&#xff0c;那么问题是啥呢&#xff1f;接下来和我一起走入bug的世界吧&#xff0c;让我们看看究竟是怎么回事。 *问题描述    1.application.yml是灰色的小格子 2.实在难看 *需要解决的最终结果 1.有绿色的小叶子 解决方案上图 1. 2. …

Ajax — 第一天

上网的目的 本质目的&#xff1a;浏览和消费资源 资源&#xff1a;文字、图片、音频、视频…资源存在哪里&#xff1a;服务器上 服务器的概念 是负责存放和对外提供资源的电脑。它的性能比普通的计算机好太多了 客户端 获取和消费资源的电脑&#xff0c;叫做客户端。 我…

Swift傻傻分不清楚系列(四)基本运算符 o_O!???

本页包含内容&#xff1a; 术语赋值运算符算术运算符组合赋值运算符比较运算符三目运算符空合运算符区间运算符逻辑运算符 运算符是检查、改变、合并值的特殊符号或短语。例如&#xff0c;加号&#xff08;&#xff09;将两个数相加&#xff08;如 let i 1 2&#xff09;。更…

网络经济与企业管理(第 2 章:企业战略管理)

一、战略的性质与类型 什么是战略&#xff1a;企业发展的谋划 企业战略的三个层次&#xff1a; 企业总体战略&#xff1a;又称经营战略&#xff0c;是企业整体运营的指导思想事业层战略&#xff1a;又称竞争战略、业务层次战略、SBU战略&#xff0c; 指导具体战略经营单位。职能…

Ajax — 图书管理

注意&#xff1a;本项目基于 jQuery 文件下进行的 Ajax 请求项目&#xff0c;需要映入jQuery文件&#xff01; <body style"padding: 15px;"><!-- 添加图书的Panel面板 --><div class"panel panel-primary"><div class"panel-h…

错误: 找不到或无法加载主类 com.leyou.LeyouItemApplication Process finished with exit code 1...

在IDEA的使用过程中&#xff0c;经常断掉服务或者重启服务&#xff0c;最近断掉服务重启时突然遇到了一个启动报错&#xff1a; 错误&#xff1a;找不到或无法加载主类 猜测&#xff1a;1&#xff0c;未能成功编译&#xff1b; 尝试&#xff1a;菜单---》Build---》Rebuild Pro…

Ajax — 第二天

Ajax-02 今天内容&#xff1a; 安装浏览器插件 聊天机器人案例 Form表单提交 模板引擎&#xff08;新的概念&#xff0c;难点&#xff09; 两个案例 Chrome浏览器插件安装 安装步骤 下载插件的网站&#xff1a; https://www.gugeapps.net/ 无需扫码 http://www.cnplu…

Ajax — 评论列表

<body style"padding: 15px;"><!-- 评论面板 --><div class"panel panel-primary"><div class"panel-heading"><h3 class"panel-title">发表评论</h3></div><form class"panel-bod…

Swift傻傻分不清楚系列(七)控制流

本页包含内容&#xff1a; For-In 循环While 循环条件语句控制转移语句&#xff08;Control Transfer Statements&#xff09;提前退出检测 API 可用性 Swift提供了多种流程控制结构&#xff0c;包括可以多次执行任务的while循环&#xff0c;基于特定条件选择执行不同代码分支…

java课程之团队开发冲刺1.8

一.总结昨天进度 1.初步实现用户交互 增删课程表 二.遇到的困难 1.主界面一段程序一直报错 三.今天的任务 1.解决报错问题&#xff0c; 编写查询空教室功能 照片 燃尽图 转载于:https://www.cnblogs.com/qfsr/p/10873636.html

Ajax — 聊天机器人演示

<body><div class"wrap"><!-- 头部 Header 区域 --><div class"header"><h3>小思同学</h3><img src"img/person01.png" alt"icon" /></div><!-- 中间 聊天内容区域 --><div…

Ajax — 第三天

Ajax-03 模板引擎原理 正则回顾 区分正则方法和字符串方法 正则方法 test()exec() 字符串方法 match()replace()split()search() 正则方法由正则表达式调用&#xff1b;字符串方法由字符串调用&#xff1b; exec方法 功能&#xff1a;使用正则表达式匹配字符串&#xff0c…

d3.js 共享交换平台demo

今天在群里遇到一张图 遂来玩一玩&#xff0c;先来上图!! 点击相应按钮&#xff0c;开关线路&#xff0c;此项目的重点是计算相应图形的位置&#xff0c;由于是个性化项目就没有封装布局。好了直接上代码。 <!DOCTYPE html> <html lang"en"> <head&g…

Java知识系统回顾整理01基础05控制流程07结束外部循环

一、break是结束当前循环 二、结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] args) { //打印单数 for (int i 0; i < 10; i) { for (int j 0; j < 1…

Ajax — 新闻列表

注意&#xff1a;本项目主要利用到了template&#xff0c;模板引擎进行编写 模板引擎代码下载地址 <div id"news-list"><!-- 这里放数据 --></div>.news-item {display: flex;border: 1px solid #eee;width: 700px;padding: 10px;margin-bottom: …

Ajax — 第四天

数据交换格式 XML 写法&#xff1a; 一个文档有且只有一个根标签标签必须闭合属性值必须加引号 如果说服务器返回的数据是xml格式的 前端需要把服务器返回的xml当做document对象来处理目前无法演示&#xff0c;自己写接口的时候&#xff0c;我们可以测试一下。 JSON 写法…

数据库系统原理(第三章数据库设计 )

一、数据库设计概述 数据库的生命周期 数据库设计的目标&#xff1a; 满足应用功能需求&#xff08;存、取、删、改&#xff09;&#xff0c;良好的数 据库性能&#xff08;数据的高效率存取和空间的节省 共享性、完整性、一致性、安全保密性&#xff09;数据库设计的内容 数据…

Ajax — 第五天

Ajax-05 xhr&#xff08;level-2&#xff09;新特性 responseType属性和response属性 responseType: 表示预期服务器返回的数据的类型 “” &#xff0c;默认空text&#xff0c;和空一样&#xff0c;表示服务器返回的数据是字符串格式json&#xff0c;表示服务器返回的是js…