当前位置: 首页 > news >正文

js之操作元素属性和定时器以及相关案例倒计时

这里写目录标题

  • 一级目录
    • 二级目录
      • 三级目录
  • Web APIs01
  • 四、操作元素属性
    • 1.操作元素常用属性
    • 2.操作元素样式属性
      • 通过style属性操作css
        • 1.修改样式通过style属性引出
        • 2.如果属性有-连接符,需要转换为小驼峰命名法
        • 3.赋值的时候,需要的时候不要忘记加css单位
      • 通过className操作css
      • 通过classList操作css
    • 3.操作表单元素属性
    • 4.自定义属性
  • 五、定时器-间歇函数
    • 打开定时器
    • 关闭定时器
  • 用户倒计时效果案例
    • 案例要求
    • 大致思路
    • 完整代码

一级目录

二级目录

三级目录

Web APIs01

四、操作元素属性

1.操作元素常用属性

对象.属性=值

2.操作元素样式属性

通过style属性操作css

对象.style.样式属性=值
//获取元素
const box document.querySelector(‘.box’)
//修改元素样式

1.修改样式通过style属性引出

box.style.width '200px
box.style.marginTop ='15px

2.如果属性有-连接符,需要转换为小驼峰命名法

box.style.backgroundColor =‘pink’

3.赋值的时候,需要的时候不要忘记加css单位

通过className操作css

元素.className=‘类名(不加点)’
注意:
由于class是关键字,所以使用className去代替
className是使用新值换旧值实现覆盖,如果需要添加一个类,需要保留之前的类名

通过classList操作css

使用className容易覆盖以前的类名,可以使用classList方式追加和删除类名
//追加一个类
元素.classList.add(‘类名’)类名不加点且是字符串
//删除一个类
元素.classList.remove(‘类名’)
//切换一个类(有就删,没有就加)
元素.classList.toggle(‘类名’)

3.操作表单元素属性

获取:DOM对象.属性名
设置:DOM对象.属性名=新值
表单.value=‘用户名’
表单.type=‘password’
注意:获取表单内容只能用"表单.value",但button特殊使用button.innerHTML,因为button的已经是标签内的内容,innerHTML获取的是双标签内的提示内容

表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示如果为true代表添加了该属性如果是false代表移除了该属性
比如:disabled禁用、checked勾选、selected

<button disabled></button>
const button=document.querySeletor('button')
button.disabled=false//表示不能禁用

4.自定义属性

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

<body><div class="box",data-id="10",data-smp="21">盒子</div>
<script>const box document.querySelector('.box')console.log(box.dataset.id)console.log(box.dataset.smp)
</script>
</body>

五、定时器-间歇函数

单位为毫秒,返回的是一个id数字,函数名不需要加括号

打开定时器

setInterval (function(){
console.log(‘一秒执行一次’)
},1000)1000毫秒即为1秒,数字越小表示跳转间隔越小,跳转越快
2.
function fn() {
console.log(‘一秒执行一次’)
}
setInterval(fn,1000)这里调用函数不要加(),fn()表示立即调用函数,但在定时器里是主动调用

关闭定时器

let timer = setInterval(function(){
console.log(‘hi~~’)
},1000)
clearInterval(timer)
2.
let 变量名 = seyInterval(函数,间隔函数)
clearInterval(变量名)

用户倒计时效果案例

案例要求

文本框里放用户协议,倒计时结束前不能点击同意

大致思路

设置一个含有倒计时的按钮,获取按钮对象,利用定时器函数,不断修改倒计时内容,当倒计时数字为0时,关闭定时器,将禁用取消,文字改为同意

完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><textarea name="" id="" col="30" rows="10">用户注册协议xxx是哈哈怪,看完才能点确认</textarea><br><button class="btn" disabled>确认(8)</button><script>let i=8const btn=document.querySelector('.btn')let n=setInterval(function(){i--btn.innerHTML=`确认${i}`if(i===0){clearInterval(n)btn.disabled=falsebtn.innerHTML='同意'}},1000)</script>
</body>
</html>

相关文章:

js之操作元素属性和定时器以及相关案例倒计时

这里写目录标题 一级目录二级目录三级目录 Web APIs01四、操作元素属性1.操作元素常用属性2.操作元素样式属性通过style属性操作css1.修改样式通过style属性引出2.如果属性有-连接符&#xff0c;需要转换为小驼峰命名法3.赋值的时候&#xff0c;需要的时候不要忘记加css单位 通…...

高考计算机专业 热门专业方向

人工智能&#xff08;AI&#xff09;&#xff1a;随着技术进步&#xff0c;人工智能成为计算机技术的新方向&#xff0c;涵盖自动驾驶、智能机器人、语音识别等应用。该领域对人才的需求持续增长&#xff0c;是计算机专业的一个热门方向。数据科学与大数据分析&#xff1a;随大…...

《web应用技术》第十一次作业

1、验证过滤器进行权限验证的原理。 代码展示&#xff1a; Slf4j WebFilter(urlPatterns "/*") public class LoginCheckFilter implements Filter { Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) thro…...

Scala学习笔记11: 操作符

目录 第十一章 操作符1- 标识符2- 中置操作符3- 一元操作符4- 赋值操作符5- 操作符的优先级6- 结合性7- apply和update方法8- 提取器end 第十一章 操作符 在Scala中, 操作符是用来执行特定操作的符号或符号组合 ; Scala允许开发人员自定义操作符, 这些操作符可以是字母、数字…...

项目五串行通信系统 任务5-3温度信息上传

任务描述&#xff1a;DS18B20测量温度&#xff0c;单片机采集温度数据转换显示代码&#xff0c;并通过串行口发送到上位机显示。 底层文件&#xff1a; /********************************************* ds18b20底层函数:能完成一次温度数据读取 ***************************…...

前端 JS 经典:统一 Vite 中图片转换逻辑

在 Vue Vite 项目中有这样一段代码如下&#xff0c;引入了两个图片&#xff0c;一大一小。然后 console 出来引入结果。 import bigImg from "./assets/big.png"; import smallImg from "./assets/small.png";console.log(bigImg); console.log(smallImg…...

DOM-获取元素

获取元素的方法&#xff1a; 方法一&#xff1a;根据id获取元素document.getElementById <div id"time">2024-6-4</div> 在script标签中&#xff1a;注意getElementById括号里面必须要有引号&#xff0c;获得的是对象类型 var timer document.getEle…...

【安装笔记-20240612-Linux-内网穿透服务之cpolar极点云】

安装笔记-系列文章目录 安装笔记-20240612-Linux-内网穿透服务之 cpolar 极点云 文章目录 安装笔记-系列文章目录安装笔记-20240612-Linux-内网穿透服务之 cpolar 极点云 前言一、软件介绍名称&#xff1a;cpolar极点云主页官方介绍 二、安装步骤测试版本&#xff1a;openwrt-…...

Java 泛型与集合的深入解析:原理、应用与实践

泛型的基本原理 为什么需要泛型 在Java 5之前&#xff0c;Java的集合类只能存储Object类型的对象。这意味着&#xff0c;存储在集合中的对象在取出时需要进行类型转换&#xff0c;这不仅繁琐&#xff0c;而且容易出错。泛型通过在编译时进行类型检查&#xff0c;确保类型安全…...

Oracle 数据库的自动化工具:AWR 和 ASM

Oracle 数据库提供了一系列工具和技术&#xff0c;以提高数据库管理的效率和性能。其中&#xff0c;AWR和 ASM是两个关键组件。本文将详细介绍 AWR 和 ASM 的功能及其在数据库管理中的重要性。 AWR AWR 是 Oracle 数据库的一个核心部分&#xff0c;用于收集、处理和维护数据库…...

java技术专家面试指南50问【java学习+面试宝典】(五)

Dubbo需要 Web 容器吗&#xff1f; 不需要&#xff0c;如果硬要用 Web 容器&#xff0c;只会增加复杂性&#xff0c;也浪费资源。 一个字符串类型的值能存储最大容量是多少&#xff1f; 512M 什么是Kubectl&#xff1f; Kubectl是一个平台&#xff0c;您可以使用该平台将命…...

Elasticsearch之深入聚合查询

1、正排索引 1.1 正排索引&#xff08;doc values &#xff09;和倒排索引 概念&#xff1a;从广义来说&#xff0c;doc values 本质上是一个序列化的 列式存储 。列式存储 适用于聚合、排序、脚本等操作&#xff0c;所有的数字、地理坐标、日期、IP 和不分词&#xff08; no…...

大模型:分本分割模型

目录 一、文本分割 二、BERT文本分割模型 三、部署模型 3.1 下载模型 3.2 安装依赖 3.3 部署模型 3.4 运行服务 四、测试模型 一、文本分割 文本分割是自然语言处理中的一项基础任务&#xff0c;目标是将连续的文本切分成有意义的片段&#xff0c;这些片段可以是句子、…...

数据预处理 #数据挖掘 #python

数据分析中的预处理步骤是数据分析流程中的重要环节&#xff0c;它的目的是清洗、转换和整理原始数据&#xff0c;以便后续的分析能够准确、有效。预处理通常包括以下几个关键步骤&#xff1a; 数据收集&#xff1a;确定数据来源&#xff0c;可能是数据库、文件、API或网络抓取…...

VS2022 使用C++访问 mariadb 数据库

首先,下载 MariaDB Connector/C++ 库 MariaDB Products & Tools Downloads | MariaDB 第二步,安装后 第三步,写代码 #include <iostream> #include <cstring> #include <memory> #include <windows.h>#include <mariadb/conncpp.hpp>…...

kotlin 语法糖

Use of “when” Expression Instead of “switch” fun getDayOfWeek(day: Int): String {return when (day) {1 -> "Monday"2 -> "Tuesday"3 -> "Wednesday"4 -> "Thursday"5 -> "Friday"6 -> "Sa…...

.NET MAUI Sqlite数据库操作(一)

一、安装 NuGet 包 安装 sqlite-net-pcl 安装 SQLitePCLRawEx.bundle_green 二、配置数据库&#xff08;数据库文件名和路径&#xff09; namespace TodoSQLite; public static class Constants {public const string DatabaseFilename "TodoSQLite.db3";//数据库…...

SQL 窗口函数

1.窗口函数之排序函数 RANK, DENSE_RANK, ROW_NUMBER RANK函数 计算排序时,如果存在相同位次的记录,则会跳过之后的位次 有 3 条记录排在第 1 位时: 1 位、1 位、1 位、4 位…DENSE_RANK函数 同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次 有 3 条记录排在…...

staruml怎么合并多个Project工程文件

如图现在有两个staruml文件 现在我想要把project2合并到project1里面 步骤如下&#xff1a; 1、首先打开project2 2、如图选择导出Fragment 3、选中自己想导出的模块&#xff08;可以不止一个&#xff09; 4、将其保存在桌面 5、打开project1 6、选择导入 7、选中刚刚…...

设计模式——外观模式

外观模式(Facade) 为系统中的一组接口提供一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。 #include <iostream>using namespace std;// 四个系统子类 class SubSystemOne { public:void MethodOne(){cout <&l…...

全球碳块市场调查:年复合增长率(CAGR)稳定保持在3.4%(2026 - 2032)

市场规模&#xff1a;稳健增长&#xff0c;潜力巨大QYResearch调研数据显示&#xff0c;2025年全球碳块市场规模预计约为17.75亿美元&#xff0c;而到2032年&#xff0c;这一数字将跃升至22.36亿美元。在2026 - 2032年期间&#xff0c;年复合增长率&#xff08;CAGR&#xff09…...

VSCode党必看!用轻量级方案玩转LaTeX:2024年TexLive+VSCode配置全攻略

VSCode党必看&#xff01;用轻量级方案玩转LaTeX&#xff1a;2024年TexLiveVSCode配置全攻略 对于习惯在VSCode中高效编码的开发者而言&#xff0c;切换到传统LaTeX编辑器往往意味着要放弃熟悉的快捷键、扩展生态和流畅的代码体验。本文将带你用完全基于VSCode的轻量级方案构建…...

深度剖析:synchronized 底层实现原理(JVM 视角)

一、Java对象内存布局的深度拆解原文提到了对象头&#xff0c;这里补充64位JVM的完整对象布局和对齐填充的底层原因。1.1 64位JVM的完整对象结构text┌─────────────────────────────────────────────┐ │ 对象头…...

Medusa小程序:微信、支付宝等小程序平台对接的完整指南

Medusa小程序&#xff1a;微信、支付宝等小程序平台对接的完整指南 【免费下载链接】medusa 项目提供了构建数字商务所需的组件和服务&#xff0c;旨在简化和加速电子商务平台的开发工作流程。 项目地址: https://gitcode.com/GitHub_Trending/me/medusa Medusa是一个强…...

OpenClaw多场景实战:Qwen3-VL:30B在飞书中的5个应用案例

OpenClaw多场景实战&#xff1a;Qwen3-VL:30B在飞书中的5个应用案例 1. 为什么选择OpenClawQwen3-VL:30B组合 去年我在团队内部尝试搭建智能助手时&#xff0c;发现市面上大多数方案要么需要将敏感数据上传到第三方平台&#xff0c;要么功能过于单一。直到遇到OpenClaw这个开…...

League-Toolkit英雄联盟辅助工具完全指南:从配置到精通的高效使用手册

League-Toolkit英雄联盟辅助工具完全指南&#xff1a;从配置到精通的高效使用手册 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …...

NaViL-9B图文问答入门必看:纯文本+图像理解双模式快速上手

NaViL-9B图文问答入门必看&#xff1a;纯文本图像理解双模式快速上手 1. 认识NaViL-9B多模态模型 NaViL-9B是一款原生支持多模态交互的大语言模型&#xff0c;由专业研究团队开发。它最大的特点是能同时处理纯文本问答和图片内容理解任务&#xff0c;就像一个同时精通文字和视…...

基于Coqui TTS的高质量语音合成实战:从模型部署到生产环境优化

最近在做一个需要语音播报功能的小项目&#xff0c;之前用的一些在线TTS服务&#xff0c;要么费用不低&#xff0c;要么音质和速度达不到要求。于是把目光投向了开源方案&#xff0c;一番折腾后&#xff0c;发现 Coqui TTS 真是个宝藏。它不仅音质好&#xff0c;支持的语言和声…...

如何用3种方法让Fira Code字体提升你的编码效率?

如何用3种方法让Fira Code字体提升你的编码效率&#xff1f; 【免费下载链接】FiraCode Free monospaced font with programming ligatures 项目地址: https://gitcode.com/GitHub_Trending/fi/FiraCode 还在为代码中的箭头符号显示不清晰而烦恼&#xff1f;是否经常需要…...

AI写论文不再难,4款AI论文生成工具带你开启高效写作之旅!

在2025年愈演愈烈的学术写作智能化趋势中&#xff0c;越来越多的人选择借助AI写论文工具。现实中许多这样的工具在撰写硕士、博士论文等长篇学术作品时&#xff0c;常常缺乏必要的理论深度&#xff0c;逻辑也显得比较松散。普通的AI论文写作工具显然无法满足这些专业写作的需求…...