JavaScript(操作元素属性:样式style,className,classList,表单元素,自定义属性,间歇函数)注册用户协议同意倒计时

news/2024/10/29 1:23:22/

操作元素属性

操作元素常用属性

  • 通过 JS 设置/修改标签元素属性,比如通过 src更换 图片
  • 最常见的属性比如: href、title、src 等
  • 语法: 
    对象名.属性=值
     

操作元素样式属性

  • JS 设置/修改标签元素的样式属性。
  • Ø 比如通过 轮播图小圆点自动更换颜色样式
  • Ø 点击按钮可以滚动图片,这是移动的图片的位置 left 等等学习路径:
  1. 通过 style 属性操作CSS
    • 语法:
      对象·style·样式属性=值

  2. 操作类名(className) 操作CSS
    • 语法: 
      元素名·className='css类名'

    • 注意:
      • className是使用新值换旧值, 如果需要添加一个类,需要保留之前的类名
      • 使用 className 可以同时修改多个样式,直接使用 className 赋值会覆盖以前的类名
  3. 通过 classList 操作类控制CSS
    //追加一个类
    元素名·classList·add('类名)//删除一个类
    元素名·classList·remove('类名)//切换一个类(无就添加,有就删除)
    元素名·classList·toggle('类名')
    
  • 注意: 使用 className 和classList的区别?
    • 修改大量样式的更方便 修改不多样式的时候方便
    • classList 是追加和删除不影响以前类名

操作表单元素 属性

  • 表单很多情况,也需要修改属性,比如点击眼睛,可以看到密码,本质是把表单类型转换为文本框

  • 正常的有属性有取值的 跟其他的标签属性没有任何区别

    • 获取: DOM对象.属性名
    • 设置: DOM对象.属性名 = 新值
    表单·value='用户名'
    表单.type='password'
    
  1. 表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示 如果为true 代表添加了该属性 如果是false 代表移除了该属性
  2. 比如: disabled、checked、selected

自定义属性

  • 标准属性: 标签天生自带的属性 比如class id title等, 可以直接使用点语法操作比如: disabled、checked、 selected
  • 自定义属性: Ø 在html5中推出来了专门的data-自定义属性 

定时器-间歇函数

目标:能够使用定时器函数重复执行代码定时器函数可以开启和关闭定时器 setInterval(函数,间歇时间)

/* 倒计时案例*/<script>// setInterval(函数,间隔时间(毫秒)let time = 5let times=  setInterval(function (){console.log(`倒计时还有${time}秒`);time--if(time === -1){// clearInterval(定义倒计时函数的变量名)clearInterval(times)}},1000)</script>
<script>// setInterval(函数,间隔时间(毫秒)let time = 5let times=  setInterval(function (){console.log(`倒计时还有${time}秒`);time--if(time === -1){// clearInterval(定义倒计时函数的变量名)clearInterval(times)}},1000)</script>```
<!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="" cols="30" rows="10">用户注册协议欢迎注册成为京东用户!在您注册过程中,您需要完成我们的注册流程并通过点击同意的形式在线签署以下协议,请您务必仔细阅读、充分理解协议中的条款内容后再点击同意(尤其是以粗体或下划线标识的条款,因为这些条款可能会明确您应履行的义务或对您的权利有所限制)。【请您注意】如果您不同意以下协议全部或任何条款约定,请您停止注册。您停止注册后将仅可以浏览我们的商品信息但无法享受我们的产品或服务。如您按照注册流程提示填写信息,阅读并点击同意上述协议且完成全部注册流程后,即表示您已充分阅读、理解并接受协议的全部内容,并表明您同意我们可以依据协议内容来处理您的个人信息,并同意我们将您的订单信息共享给为完成此订单所必须的第三方合作方(详情查看</textarea><br><button class="btn">我已经阅读用户协议(60)</button><script>// 获取对象const but = document.querySelector('.btn')but.disabled=truelet time = 60let times=setInterval(function (){but.innerHTML=`我已经阅读用户协议(${time})`time--if(time === 0){clearInterval(times)but.innerHTML='同意'// 取消禁用控件disabledbut.disabled=false}},1000)</script>
</body></html>

 


http://www.ppmy.cn/news/1542736.html

相关文章

web服务实验

http实验 先创建需要访问的web页面文件index.html 编辑vim /etc/nginx/conf.d/testip.conf 测试通过域名访问需要编辑/etc/hosts 如果通过windows的浏览器访问需要编辑下面的文件通过一管理员身份打开的记事本编辑 C:\Windows\System32\drivers\etc下的hosts文件 192.168.1…

哈尔滨银行难以摆脱低估值,不良贷款突破100亿元,何时回A?

撰稿 | 芋圆 来源 | 贝多财经 在经济缓慢恢复的步调中&#xff0c;多数理财者倾向于选择更为保守的资产分配策略&#xff0c;但部分银行在竞争加剧&#xff0c;净息差持续收窄的压力下&#xff0c;却将业务转型的矛头对准了风险更高的金融投资领域&#xff0c;哈尔滨银行就是…

高频 SQL 50 题(基础版)

一、查询 1757. 可回收且低脂的产品 表&#xff1a;Products ---------------------- | Column Name | Type | ---------------------- | product_id | int | | low_fats | enum | | recyclable | enum | ---------------------- product_id 是该表的主键&a…

el-menu,菜单折叠后菜单项文字不隐藏

<el-menu background-color"black" text-color"white" collapse> 加入 collapse后&#xff0c;文字不隐藏&#xff0c;如下 后来在标题上加了一个标签&#xff0c;就好了。。 <template #title><span>{{ item.meta.title }}</span&…

【React系列二】—React学习历程的分享

一、表单处理 受控组件 HTML 中的表单元素是可输入的&#xff0c;也就是有自己的可变状态 而 React 中可变状态通常保存在state中&#xff0c;并且只能通过 setState() 方法来修改 React 将 state 与表单元素值 value 绑定在一起&#xff0c;有 state 的值来控制表单元素的值…

短信验证码发送实现(详细教程)

短信验证码 接口防刷强检验以及缓存验证码阿里云短信服务操作步骤验证码发送实现 好久没发文啦&#xff01;最近也是在工作中遇到我自认为需要记录笔记的需求&#xff0c;本人只求日后回顾有迹可寻&#xff0c;不喜勿喷&#xff01; 废话不多说&#xff0c;直接上代码&#xff…

Linux定时器定时任务清理log日志文件

首先&#xff0c;创建xx.sh文件&#xff0c;内容如下 #!/bin/bash sfecho "" > /var/lib/docker/containers/12379e809ea1294eea9b117368181cff1dd3915fdb1611f940c5cf3d6077d734/12379e809ea1294eea9b117368181cff1dd3915fdb1611f940c5cf3d6077d734-json.log 打…

数字IC后端实现Innovus |给各种IP子模块添加port buffer和antenna diode万能脚本

我们之前分享过在hierarchical flow后端实现中为了确保顶层flatten时timing signoff和physical signoff看到的情况和模块级看到的情况一致&#xff0c;我们会在模块io port添加io port buffer&#xff08;主要是timing&#xff0c;antenna一致性&#xff09;。实际上在芯片级我…