2023/6/18总结

news2024/11/17 22:47:30

JS

在document.querySelectorAll('CSS选择器') 选到的集合并没有pop()和push()等数组的方法。是一个伪数组。

如果想要得到里面的每一个对象,需要用for遍历获得

document.getElementById('id名称')

根据id获取一个元素

document.getElementsByTagName('标签名字')

根据标签名称获取元素,会获取到所有的标签

document.getElementsByClassName('类名称')

根据类名称获取到元素

操作元素内容:

对象.innerText属性 

html代码:

JavaScript代码:

输出:

 对象.innerHTML

将文本内容添加/更新到任意标签位置,会解析标签,多标签建议使用模板字符。

操作元素属性

对象.属性=值

CSS的style属性当中有不少是以-连接的属性,比如border-radius,在JS中,获得了一个元素的时,想要改变style属性时,不能写box.style.border-radius,而是采用驼峰命名法,box.style.borderRadius,这样就不会报错。属性后面需要时字符串的形式,也就是说,需要''包裹住具体的属性值,例如:box.style.borderRadius:'20px'

修改样式:

  • 对象.style.属性
  • 写一个类名,对象.className='类名'

classList

为了解决className容易覆盖以前的类名,我们可以通过classList方法追加和删除类名。

  • 元素.classList.add(‘类名’)    追加
  • 元素.classList.remove('类名')     删除
  • 元素.classList.toggle('类名')      切换  ,如果有就删掉,如果没有就删掉

操作表单:

  • 表单.value=''
  • 表单.type=''
  • 还可以设置disabled、checked、selected

自定义属性:

HTML5推出了专门的data-自定义属性,在标签上一律以data开头,在DOM对象上一律以dataset对象方式获取。

定时器:间歇函数

定时器能够让函数重复执行代码,定时器函数可以开启和关闭定时器

  • 开启定时器

setInterval(函数名称,间隔时间)  或者setInterval(’函数名称()',间隔时间)  单位时间是毫秒

每个定时器都会有一个唯一的序号。

  • 关闭定时器

let 变量名=setInterval(函数,间隔时间)

clearInterval(变量)

案列:

2023-06-16 00-24-56-646

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="CSS/demo0612.css">
    <title>demo0612</title>
</head>
<body>

    <button>
        获取验证码
    </button>
    <p>还剩下3秒</p>
    <script src="js/demo0612.js">
    </script>
</body>
</html>
const btn=document.querySelector('button')
btn.disabled=true;
function fn()
{

}
let i=3;
let pw

let k = setInterval(function()
{
    pw = document.querySelector('p')
    i--
    pw.innerText=`还剩下${i}秒`
    if(i===0)
    {
        clearInterval(k)
        btn.disabled=false
    }

},1000)

案列:

2023-06-16 19-38-18-618

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="CSS/demo0612.css">
    <title>demo0612</title>
</head>
<body>

    <div class="slider">
        <img src="2/1.jpeg" alt="">
        <div class="footer">
            <ul>
                <li class="active"></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </div>
    </div>
    <script src="js/demo0612.js">
    </script>
</body>
</html>
li
{
    list-style:none;
}
.slider
{
    position:relative;
    width:500px;
    height:331.5px;
}
.slider img
{
    height:331.5px;
    width:500px;
}
.slider .footer
{

    position:absolute;
    background-color:rgba(0,0,0,.2);
    bottom:0;
    left:0px;
    width:100%;
    height:60px;
}
.slider .footer ul
{
    display:flex;
    width:30%;
}
.slider .footer ul li
{
    flex:1;
    background-color:#fff;
    height:10px;
    border-radius:50%;
    margin-left:10px;
}
.footer .active
{
    transform:scale(1.5);
}

const a=
[
    {url:'2/1.jpeg'},
    {url:'2/2.jpeg'},
    {url:'2/3.jpeg'},
    {url:'2/4.jpeg'},
    {url:'2/5.jpeg'},
    {url:'2/6.jpeg'},
    {url:'2/7.jpeg'},
    {url:'2/8.jpeg'}
]
let i = 0
let t = setInterval
(
    function()
    {
        document.querySelector('.slider img').src=`${a[i].url}`
        document.querySelector('.active').classList.remove('active')
        document.querySelector(`.slider .footer ul li:nth-child(${i+1})`).classList.add('active')

        i++
        if(i >= a.length)
        {
            i = 0
        }
    }
,1000)

事件监听

事件:指在编程系统内发生的动作或者发生的事情

事件类型:

  • click 鼠标点击
  • mouseenter 鼠标经过
  • mouseleave 鼠标离开,
  • focus 获得焦点  这个通常用在input里面,
  • blur 失去焦点
  • Keydown 键盘按下触发
  • Keyup 键盘抬起触发
  • input 用户输入事件   可以用这个获取到当前用户输入的内容

事件监听:

元素对象.addEventListener('事件类型',需要执行的函数)

事件监听的三元素:事件源:被触发的元素,事件类型:用什么方式触发,事件调用的函数:需要做的事情

事件源.

on事件=function(){}

区别:on方式会被覆盖,addEventListener方式可以绑定多次,拥有事件更多特性

案例:

2023-06-16 21-03-45-151

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="CSS/demo0612.css">
    <title>demo0612</title>
</head>
<body>
    <div class="box">
        <span>名字为:</span>
        <span class="name">lxh</span>
        <br>
        <button class="start">开始</button>
        <button class="end">结束</button>
    </div>
    <script src="js/demo0612.js">
    </script>
</body>
</html>
.box
{
    width:500px;
    height:300px;
    margin:50px auto;
    text-align:center;
}
.box span
{
    font-size:20px;
    color:red;
}
.box span:nth-child(1)
{
    margin-right:50px;
}
.box .name
{
    color:#00adeb;
}
button
{
    width:80px;
    height:30px;
    margin-top:50px;
    margin-left:20px;
    margin-right:20px;
}
const a=
[
    {name:'ares'},
    {name:'king'},
    {name:'helios'},
    {name:'b-7'},
    {name:'nox'},
    {name:'key'},
    {name:'kilo'},
    {name:'mistletoe'}
]

let y

let st=document.querySelector('.start')
st.addEventListener('click',
    function()
    {
        st.disabled=true
        let k = document.querySelector('.name')
        y = setInterval(function()
        {
            const random=parseInt(Math.random()*a.length)
            k.innerHTML=a[random].name
        },150)
    }
)
let ed=document.querySelector('.end')
ed.addEventListener('click',
    function()
    {
        st.disabled=false
        clearInterval(y)
    }
)

事件对象

事件对象是是一个对象,里面存储了事件触发时的相关信息

主要用于判断用户按下哪个键或者哪一个元素

部分常用属性:

  • type  获取当前的事件类型
  • clientX/clientY  获取光标对于浏览器可见窗口左上角的位置
  • offsetX/offsetY  获取光标相对于当前DOM元素左上角的位置
  • key  用户按下的键盘键的值

function函数里面可以带参数,e/event,这个参数代表这一个事件对象

trim()函数会去除俩边的空格

环境对象

变量this,代表着当前函数运行时所处的环境

普通函数指向的是window,谁调用指向谁

回调函数

如果将函数A做为参数传递给函数B时,我们称函数A为回调函数

事件流:

事件捕获

从DOM的根元素开始执行对应的事件

DOM.addEventListener(事件类型,事件处理函数,是否使用捕获机制)   第三个参数写true代表是捕获阶段触发    默认是false代表冒泡阶段触发

事件冒泡

当一个元素被触发时,同样的事件会在该元素的所有祖先元素中依次被触发,这个过程称为事件冒泡,也就是说,从子元素开始往上执行同名事件

阻止冒泡

因为默认有冒泡模式的存在,所有容易导致事件影响到父级元素,如果想把事件就限制在当前元素内,就需要阻止事件冒泡,前提时需要拿到事件对象。

事件对象.stopPropagation()

此方法可以阻断事件流动传播,不仅在冒泡阶段有效,捕获阶段也有效

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

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

相关文章

Css面试题:css文字隐藏

文章目录 文字隐藏单行文字隐藏多行文字隐藏基于高度设置多行文字隐藏基于行数设置多行文字隐藏 文字隐藏 单行文字隐藏 主要是通过overflow&#xff0c;text-overflow&#xff0c;white-space三个属性实现。 overflow&#xff1a;visible|hidden|auto|scroll|inherit&#…

【c语言】-- 操作符汇总

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章来学习数组。 让我们开启c语言学习之旅…

简单认识web与http协议

文章目录 web基础域名概述DNS&#xff08;Domain Name System域名系统&#xff09; 域名空间结构 域名实际用法 2. 网页的概念2.1 网页&#xff08;HTTP/HTTPS&#xff09;HTML 概述HTML超文本标记语言 HTML文档的结构头标签中常用标签内容标签中常用标签Web概述具体组成web的主…

chatgpt赋能python:Python如何创建窗口——从入门到精通

Python如何创建窗口——从入门到精通 Python是一种高级编程语言&#xff0c;它的易读性和清晰简洁的语法使它成为许多人喜欢学习的编程语言之一。Python的一个主要特色是其丰富的库和模块。在本文中&#xff0c;我们将讨论如何使用Python创建一个窗口&#xff0c;并在其中添加…

【力扣刷题 | 第十一天】

前言&#xff1a; 我将会利用几天把树的经典例题都刷完&#xff0c;希望我可以坚持下去。 226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 解题思路&#xff1a;我们交换每一…

C语言之运算符用法(补充前面运算符中的不足)

设定&#xff1a;int X20,Y10 1、算术运算符 注&#xff1a;自增和自减运算符只能用于变量&#xff0c;不可用于常量或表达式。另&#xff0c;X与X是不同的(–亦同)。以语句a[x]100;为例&#xff1a; a[X]100;执行之后得到&#xff1a;a[20] 100、X 21。//即&#xff0c;先执行…

Windows10下超详细Mysql安装

目录 0. 前言1. 下载mysql2. 开始安装3. 验证安装4. 环境变量配置 0. 前言 Mysql简介&#xff1a; MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它使用SQL&#xff08;结构化查询语言&#xff09;语言进行数据的存储和访问。MySQL的设计…

git版本管理入门(本地/远程仓库,常用命令)

目录 git简介 安装git 配置SSH key Linux环境下需要命令生成ssh key 本地git管理 多人协作流程 追加 重新提交 git命令 git commit本地和git push远程 git stash和git stash pop暂存 git status查看修改哪些了文件​ git diff 查看修改前后的差异 git log查看提交…

Centos7安装配置Docker

1. 什么是Docker 在开篇之前考虑到阅读人群,我觉得有必要向各位读者朋友简单介绍一下Docker是什么,它解决了什么问题&#xff1f;Docker是基于Go语言实现的云开源项目。它对此给出了一个标准化的解决方案-----系统平滑移植&#xff0c;容器虚拟化技术。让开发者可以打包他们的…

从加密到签名:如何使用Java实现高效、安全的RSA加解密算法?

目录 1. 接下来让小编给您们编写实现代码&#xff01;请躺好 ☺ 1.1 配置application.yml文件 1.2 RSA算法签名工具类 1.3 RSA算法生成签名以及效验签名测试 1.4 RSA算法生成公钥私钥、加密、解密工具类 1.5 RSA算法加解密测试 我们为什么要使用RSA算法来进行加解密&…

React之state详解

目录 执行过程 异步 React18与自动批处理 setState 推荐用法 ()>{return }&#xff0c;this.state. 生命周期 数据没改变时​不渲染 shouldComponentUpdate PureComponent自动&#xff08;推荐&#xff09; 你真的理解setState吗&#xff1f; - 掘金 组件的私有…

《Nature Aging》: 揭示皮肤衰老的分子机制

一个人衰老最直接的体现就是皮肤衰老。人体的皮肤一般从25&#xff5e;30岁以后即随着年龄的增长而逐渐衰老&#xff0c;大约在35&#xff5e;40岁后逐渐出现比较明显的衰老变化。但是&#xff0c;我们的皮肤为什么会衰老呢&#xff1f;要回答这个问题&#xff0c;我们首先要了…

STC单片机存储器介绍和使用

STC单片机存储器介绍和使用 🌿STC15F2K60S2系列内部结构框图 🌿STC12C5A60S2系列内部结构框图 📑程序存储器(ROM/Flash) 🔖STC单片机ROM容量大小可以根据其型号和命名规则了解到。 🌿STC

chatgpt赋能python:Python怎样让画笔变粗

Python怎样让画笔变粗 Python是一门强大的编程语言&#xff0c;不仅适用于数据分析和机器学习等领域&#xff0c;也可以用来进行图像处理。在Python中&#xff0c;我们可以使用Pillow库来进行图像操作。在本篇文章中&#xff0c;我们将介绍如何使用Python和Pillow来让画笔变粗…

基于游客时空行为特征研究(两步路)

1 轨迹计算 1.1 使用geopy geopy模块常用于定位全球地址、以及经纬度相关的转换与计算&#xff0c;详细请参考&#xff1a; https://pypi.org/project/geopy/ 1.2 安装 pip install geopy 1.3 根据经纬度计算距离 Geopy可以使用测地线距离或大圆距离计算两点之间的测地线距离&a…

【C数据结构】无头非循环单向链表_SList

目录 无头非循环单向链表LinkedList 【1】链表概念 【2】链表分类 【3】无头单向非循环链表 【3.1】无头单向非循环链表数据结构与接口定义 【3.2】无头单向非循环链表初始化 【3.3】无头单向非循环链表开辟节点空间 【3.4】无头单向非循环链表销毁 【3.5】 无头单向非…

Qt中以qRegister开头的几个函数的用法说明

目录 1. 前言 2. qRegisterMetaTypeStreamOperators 2.1. 函数功能简述 2.2.用法举例1 3. qRegisterMetaType 1. 前言 Qt通过qRegister开头的函数和Q_DECLARE开头的几个宏向Qt元系统注册、声明一些非基本类型。一旦声明、注册后&#xff0c;在Qt元系统中就可以很方便的利用这…

神秘龙卷风

那道提示 打开后是一个加密压缩包&#xff0c;根据题目提示&#xff0c;这应该是一道暴力破解的题目 暴力破解后得到密码位5463 结果拿到是一串不止到啥的字符&#xff0c;根据提示应该是还要进行解码 经过查询&#xff0c;得知这个编码叫Brainfuck&#xff1a;&#xff08;下面…

【Java高级语法】(七)Object类:同志,关于Object类的情况你了解多少嘞?~

Java高级语法详解之Object类 :one: 概念:two: 使用2.1 equals()方法2.2 hashCode()方法2.3 toString()方法2.4 finalize()方法2.5 getClass()方法2.6 clone()方法2.7 wait()、notify()和 notifyAll()方法 :three: 使用场景:ear_of_rice: 总结:bookmark_tabs: 本文源码下载地址 …

【前端知识】React 基础巩固(十五)——书籍购物车简单案例

React 基础巩固(十五)——书籍购物车简单案例 案例代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"v…