定时器+BOM

news2024/11/30 12:34:20

9.定时器+BOM

1.定时器

**概念:**重复执行一个函数

1.1setInterval()

setInterval(“代码/函数”,时间,参数),返回定时器的序列号,默认从1开始

clearInterval(序列号)清除定时

 <button class="start">开启定时器</button>
    <button class="close">关闭定时器</button>
    <script>
        // 定时器:重复执行一 个函数  
        // setInterval("代码/函数",时间,参数)返回定时器的序列号,默认从1开始
        // clearInterval(序列号) 清除定时
        // 延时器:延长执行时间,只执行一次 setTimeout

        // 1.获取dom
        var start = document.querySelector(".start");
        var close = document.querySelector(".close");
        // 2.点击开启定时器
        var timer;
        start.onclick = function () {
            // 开启定时器之前,清除上一次的定时器
            clearInterval(timer)
            // 语法1
            // timer = setInterval("console.log(111)", 1000)
            // console.log(timer);
            // 语法2
            timer = setInterval(function (str) {
                console.log("你好" + str);
            }, 1000, '小小易')
        }
        // 关闭定时器
        close.onclick = function () {
            clearInterval(timer)
        }

2.延时器

setTimeout:延长执行时间,只执行一次

learTimeout关闭延时器,和上面的定时器使用是一样的

<body>
    <button id="start">开启</button>
    <button id="stop">暂停</button>
    <script>
        // 1.获取dom
        var start = document.querySelector("#start")
        var start = document.querySelector("#stop")
        // setTimeout 只触发一次
        // setTimeout 可以使用clearTimeout,clearInterval关闭
        // setInterval 可以使用 clearTimeout,clearInterval关闭
        // 2.点击开启按钮,进行开启延时器
        var timer;
        start.onclick = function () {
            // clearTimeout(timer)
            // 序列号从1开始的
            timer = setTimeout(function (str) {
                console.log("你好" + str);
            }, 3000, "小小易")
            console.log(timer);
        }
        // 3.点击关闭
        stop.onclick = function () {
            // clearTimeout(timer)//ok
            clearInterval(timer)//ok
        }
    </script>
</body>

3.同步和异步

同步:按照顺序从上到下,一步步的执行

 console.log(111);
        console.log(222);
        console.log(333);
        // 同步输出 111 222 333

异步:可以按照顺序执行,与同步相反

console.log(111);
        // 被推入执行队列中,等待被执行
        setTimeout(function () {
            console.log(222);
        }, 0)
        console.log(333);
        // 异步 输出111 333 222

4.BOM浏览器对象模型

功能:用js操作浏览器的 前进 后退 刷新 打印 关闭 打开等功能

  1. document文档 重点
  2. history 历史(页面访问记录)重点
  3. location地址信息 重点
  4. screen屏幕
  5. navigator 导航
  6. frames 框架

window是BOM的核心对象

window的对象方法:

window 是BOM的核心对象

​ window.setInterval()

​ window.setTimeout()

​ window.clearInterval()

​ window.clearTimeout()

​ window.confirm(“确定?”)

​ window.alert(“提示框”)

​ window.prompt(“输入框”)

​ window.open()

​ window.close()

​ window.print()

4.1open+close()方法+print()

open的三个参数

(1. 要加载的URL 2. 窗口的名称 或者 窗口的目标 3. 一个特性的字符串)top/left表示y坐标和x坐标

<body>
    <button id="btn">打开窗口</button>
    <button id="myClose">关闭窗口</button>
    <button id="myPrint">打印</button>
    <script>
        btn.onclick = function () {
            // _parent 父窗口
            // _self 当前窗口
            // _blank 新窗口
            open("http://baidu.com", "_self")
            // open("http://baidu.com", "标题", "width:400,height:400,left:300,top:200")
        }
        myClose.onclick = function () {
            window.close();
        }
        myPrint.onclick = function () {
            print();
        }
    </script>
</body>

4.2 location属性

http默认是80

https默认是443

MySQL默认是3306

计算机有65535个端口号

在这里插入图片描述

location对象的属性
location.hash = ‘#1;	//设置#后的字符串,并跳转
console.log(location.hash);	  //获取#后的字符串
console.log(location.port);	 //获取当前端口号
console.log(location.hostname);   //获取主机名(域名)
console.log(location.pathname);   //获取当前路径(服务器地址后部分)
console.log(location.search);   //获取?后面的字符串
location.href = “http://www.baidu.com”;   //设置跳转的URL,并跳转
location对象的方法
location.assign(‘http://www.baidu.com’);    //跳转到指定的URL, 与href等效
location.reload();      //最有效的重新加载,有缓存加载
location.reload(true);    //强制加载,从服务器源头重新加载
location.replace(“http://www.baidu.com”);  //用新的URL替代,可以避免产生历史记录

4.3编码和解码

encodeURIComponent()编码

decodeURIComponent()解码

   console.log(encodeURIComponent("小易真可爱"));//%E5%B0%8F%E6%98%93%E7%9C%9F%E5%8F%AF%E7%88%B1
        console.log(decodeURIComponent("%E5%B0%8F%E6%98%93%E7%9C%9F%E5%8F%AF%E7%88%B1"));//小易真可爱
        console.log(decodeURIComponent(location.pathname));
        console.log(location.search);//?+query
        console.log(location.hash);//锚点 做spa 单页面应用程序
        console.log(decodeURIComponent(location.href));

4.4history

​ back()后退

forward 前进

go() -1 后退 0 刷新 1 前进

4.5navigator

userAgent:该属性可以返回由客
户机发送服务器的user-agent头部的值

        // 当前浏览器的版本信息,操作系统的信息
        console.log(navigator.userAgent);//重点
        console.log(navigator.appCodeName);
        console.log(navigator.appName);
        console.log(navigator.appVersion);

定位:

      navigator.geolocation.getCurrentPosition(function (pos) {
            // pos.coords.latitude 纬度
            // pos.coords.longitude 经度
            console.log(pos.coords.latitude, pos.coords.longitude);
        }, function (err) {
            console.log("获取失败" + err);
        })

https://lbsyun.baidu.com/jsdemo.htm#bSetGetMapZoom

修改坐标,获取自己在哪

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

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

相关文章

Elasticsearch:为具有许多 and/or 高频术语的 top-k 查询带来加速

作者&#xff1a;Adrien Grand Disjunctive queries&#xff08;term_1 OR term_2 OR ... OR term_n&#xff09;非常常用&#xff0c;因此在提高查询评估效率方面它们受到了广泛关注。 Apache Lucene 对于评估 disjunctive queries 有两个主要优化&#xff1a;一方面用于详尽评…

Mac os 安装homebrew

Mac os 不会自带homebrew工具&#xff0c;而很多需要的工具需要用brew命令下载和安装&#xff0c;但是因为homebrew是国外网站&#xff0c;如果没有VPN&#xff0c;就无法下载。下面记录一下如何解决这个问题。 1、国内安装的命令如下&#xff1a; /bin/zsh -c "$(curl …

[管理与领导-89]:IT基层管理者 - 扩展技能 - 5 - 职场丛林法则 -3- 在丛林(公司->团队->个人)中定位自己

目录 前言&#xff1a; 一、了解公司市场 1.1 了解公司的途径 1.2 了解一个公司的哪些方面 1.3 商业的本质 1.4 公司的本质 1.5 公司的残酷性 1.6 公司与丛林的相似性 1.7 公司在市场中的定位涉及以下几个方面&#xff1a; 1.8 等价交换与剩余价值 在职场中的体现 二…

input输入事件

我要实现input输入框一边输入&#xff0c;一边在控制台输出结果 现有如下代码 <body><input type"text" onchange"myFunction()" /><script>function myFunction(){console.log(999)}</script> </body> 当敲下回车键后才会…

用python爬豆瓣电影《热烈》短评

一、爬虫对象-豆瓣电影短评 今天分享一期爬虫案例&#xff0c;爬取的目标是&#xff1a;豆瓣上任意一部电影的短评&#xff08;注意&#xff1a;是短评&#xff0c;不是影评&#xff01;&#xff09;&#xff0c;以《热烈》这部电影为例&#xff1a; ▲ 爬取目标 爬取以上6个…

阿里云-源码构建容器镜像

1、阿里云Code代码平台 1.1 创建访问令牌。 登录云效Codeup控制台&#xff0c;单击右上角个人设置。 在个人设置页面&#xff0c;单击左侧导航栏中的个人访问令牌。 单击创建访问令牌&#xff0c;设置配置项&#xff0c;然后单击立即创建。以下为创建访问令牌需要授予的最小权…

【C语言】【strcpy的使用和模拟实现】

1.strcpy的使用&#xff1a; char* strcpy(char* destination,const char* source)返回类型是字符指针&#xff0c;参数是接受方字符串的首地址和要拷贝的字符串的首地址 从接受地的‘\0’开始拷贝&#xff0c;会将源字符串中的’\0’也拷贝过来目标空间必须足够大&#xff0…

PASCAL VOC2012数据集以及制作自己的数据集

目录 VOC2012目录结构制作自己的数据集标注图片软件使用流程软件使用 VOC2012目录结构 制作自己的数据集 标注图片软件 github开源项目&#xff0c;形成的是xml文件格式 使用流程 软件使用

docker四种网络模式

文章目录 一.为什么要了解docker网络二.docker 网络理论三.docker的四类网络模式3.1 bridge模式3.2 host模式3.3 container模式3.4 none模式 四.bridge模式下容器的通信4.1 防火墙开启状态4.2 防火墙关闭状态 一.为什么要了解docker网络 当你开始大规模使用Docker时&#xff0…

简单讲讲在一台机器上用docker部署hadoop HDFS

为什么写这篇文章? 老东西叫我用vmvare部署hadoop,我觉得这简直蠢毙了,让我们用docker和docker-compose来快速的过一遍如何使用docker-compose来部署简单的hadoop集群范例 写在前面,一定要看我!!! 还有注意&#xff01;Hadoop中的主机名不能带-或者_ 注意了!一定注意存储空…

uboot 顶层Makefile-make xxx_deconfig过程说明三

一. uboot 的 make xxx_deconfig配置 本文接上一篇文章的内容。地址如下&#xff1a;uboot 顶层Makefile-make xxx_deconfig过程说明二_凌肖战的博客-CSDN博客 本文继续来学习 uboot 源码在执行 make xxx_deconfig 这个配置过程中&#xff0c;顶层 Makefile有关的执行思路。 …

SpringBoot临时属性简单说明

1.修改工程的端口 说明&#xff1a;将工程的端口修改成8080端口 java -jar .\springboot_09_ssmp-0.0.1-SNAPSHOT.jar --server.port8080 修改前 修改后 2.修改连接数据库密码 说明&#xff1a;修改的是application.yml中password的值 java -jar .\springboot_09_ssmp-0.0…

就业这么难,十个软件测试项目帮你简历优化!

简历中项目经验太苍白&#xff0c;面试官一眼假&#xff0c;没有面试邀约&#xff0c;倒在海投第一步&#xff0c;看看这十个项目&#xff0c;总有一个你需要的&#xff01; 1.selenium定位web元素(12306抢票实战项目) 项目测试目的 学会Selenium定位web元素的方法熟练浏览器…

【基础知识】一网络不通问题处理记录

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 在项目现场数据采集过程中&#xff0c;经常会遇到网络问题&#xff0c;最近又遇到一个网络问题。 下面记录处理过程&#xff0c;方便遇到类似问题时能快速处理。 一、问题描述 现场有5个西门子S71200/1500PLC系统&am…

导数的应用、单调性、极值、最大最小值

函数的单调性 函数的单调性是一个重要的性质&#xff0c;它描述了函数在某个区间上的变化趋势。如果函数在某个区间上单调递增&#xff0c;那么在这个区间上&#xff0c;随着自变量的增大&#xff0c;函数值也会增大&#xff1b;反之&#xff0c;如果函数在某个区间上单调递减&…

事件循环机制-Event-Loop

一&#xff1a;什么是浏览器的事件循环机制&#xff1f; 浏览器的事件循环是指在Web浏览器中对事件的处理机制。它是基于异步编程模型&#xff0c;运行在JS的引擎之中 二&#xff1a;浏览器的进程和线程 首先要了解我们所编写的JJS代码最终是怎么在浏览器中执行的 浏览器是一…

【牛客面试必刷TOP101】Day4.BM15删除有序链表中重复的元素-I和BM17二分查找-I

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;牛客面试必刷TOP101 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&…

IDEA双击无效打不开

IDEA双击无效&#xff0c;打不开 一、表象&#xff1a; 1、页面快捷键双击无效&#xff0c;打不开idea 2、bin目录下的idea64.exe点击也无效 二、排查 1、idea/bin目录下有个format.bat文件&#xff0c;将文件重命名为format.txt&#xff0c;然后编辑&#xff0c;在最后一…

浅谈C++|STL之map篇

一.map 1.1map概念 简介: map中所有元素都是pairpair中第一个元素为key(键值)&#xff0c;起到索引作用&#xff0c;第二个元素为value(实值)所有元素都会根据元素的键值自动排序 本质: . map/multimap属于关联式容器&#xff0c;底层结构是用二叉树实现。 优点: 可以根…

富斯I6刷10通道固件

使用USB转串口模块刷写10通道固件 一、下载固件 1. 十通道英文固件 下载地址: https://github.com/benb0jangles/FlySky-i6-Mod-/tree/master 选择 FlySky-i6-Mod–master \ 10ch Mod i6 Updater \ 10ch_MOD_i6_Programmer_V1 路径下的文件,亲测可用。 2. 原版六通道中…