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

高端网站制作建设培训网站建设

高端网站制作建设,培训网站建设,如何做网站的信息分类,哪里有网页设计培训文章目录 前言htmlJavaScriptquerySelectorAllgetBoundingClientRect 前言 当元素出现在浏览器可视区域时给元素设置颜色等其他操作&#xff0c;比如当元素进入浏览器可视区域时&#xff0c;设置元素进入动画。 html <div id"idBox" class"box"><…

文章目录

  • 前言
  • html
  • JavaScript
  • querySelectorAll
  • getBoundingClientRect


前言

当元素出现在浏览器可视区域时给元素设置颜色等其他操作,比如当元素进入浏览器可视区域时,设置元素进入动画。


html

<div id="idBox" class="box"></div>

JavaScript

let obj = {idElList: [],idEl: [],id: 'id_'
};init();
async function init() {let el = '';for (let i = 0; i < 10; i++) {el += `<div id="${obj.id}${i}" class="item w_200 h_130 lh_130 ta_c fs_36 b_5s_rgba_00_255_07 ${i !== 0 ? 'm_t_20' : ''}">${i}</div>`;}el += '<div id="ida" class="item w_200 h_130 lh_130 ta_c fs_36 b_5s_rgba_00_255_07 m_t_20">10</div>';el += '<div id="idb" class="item w_200 h_130 lh_130 ta_c fs_36 b_5s_rgba_00_255_07 m_t_20">11</div>';el += '<div id="idc" class="item w_200 h_130 lh_130 ta_c fs_36 b_5s_rgba_00_255_07 m_t_20">12</div>';idBox.innerHTML = el;await querySelectorAllId();getVisibleElementIds();
}function querySelectorAllId() {let idElList = document.querySelectorAll('*');obj.idElList = idElList;idElList.forEach(item => {if (item.id) obj.idEl.push(item.id);});
}function getVisibleElementIds() {let elId = [];obj.idElList.forEach(item => {const rect = item.getBoundingClientRect();// 检查元素是否在可视区域内if (rect.top >= 0 &&rect.left >= 0 &&rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&rect.right <= (window.innerWidth || document.documentElement.clientWidth) &&item.id) elId.push(item.id);});elId = elId.filter(item => item.indexOf(obj.id) !== -1);for (let i = 0; i < obj.idEl.length; i++) {let id = obj.idEl[i],idBox = document.getElementById(id);idBox.style.color = `#${elId.includes(id) ? 'ff0000' : '333333'}`;}
}// 监听滚动事件
window.addEventListener('scroll', () => getVisibleElementIds());

querySelectorAll

MDN

返回与指定的选择器组匹配的文档中的元素列表 (使用深度优先的先序遍历文档的节点)。返回的对象是NodeList 。


W3SCHOOL

querySelectorAll()方法返回与指定CSS选择器匹配的元素的子元素的集合,以静态NodeList对象。
NodeList是类数组的节点集合(列表)。
列表中的节点可以通过索引(下标)访问。索引从0开始。
length属性可返回列表中的节点数。


getBoundingClientRect

w3school

getBoundingClientRect()方法返回元素的大小及其相对于视口的位置。
getBoundingClientRect()方法返回的是拥有八个属性的DOMRect对象:
left
top
right
bottom
x
y
width
height
提示:已经完成的滚动也算在内。这意味着每次滚动位置更改时,矩形的边缘(top、left、bottom以及right)都会更改其值。


MDN

Element.getBoundingClientRect()方法返回一个DOMRect对象,其提供了元素的大小及其相对于视口的位置。

http://www.mmbaike.com/news/22439.html

相关文章:

  • 好用的h5网站模板下载关键词seo教程
  • 模板网站报价明细湖南网站营销seo多少费用
  • 猫咪网站模版下载互联网公司网站模板
  • 中国风网站设计2345网址导航官方网站
  • 淘宝客网站需要备案网页模板建站系统
  • 全国做网站的公司网站站内推广怎么做
  • JavaScript做的网站seo营销培训
  • 有哪些设计网站企业培训课程价格
  • 深圳装修招标信息网网站优化包括哪些
  • 做网站上哪买空间搜索关键词排名优化软件
  • 网页界面设计和软件界面设计的区别内蒙古seo优化
  • 自己做的网站被攻击了seo咨询推广找推推蛙
  • 手机搭建网站教程视频百度推广最简单方法
  • 织梦网站怎么做seo外包推广公司
  • 净空老法师弟子做的免费祭祖网站免费b站推广入口2023
  • 南京明辉建设集团有限公司网站微信群推广网站
  • 淘宝客网站做好了该怎么做成都移动seo
  • 可以做视频网站的源码百度资源共享链接分享组
  • 如何用.net做网站自媒体软文发布平台
  • 河南郑州网站建设哪家公司好百度问答入口
  • dw做六个页面的网站做任务赚佣金的正规平台
  • 做网站干嘛推广平台有哪些
  • 电商网站开发与运营营销策略分析
  • 一家专门做代购的网站百度推广个人怎么开户
  • 上海人才中心网站网站关键词优化的价格
  • 请seo的人帮做网站排名semifinal
  • 西安h5网站建设百度统计数据分析
  • 淘宝详情页免费模板湖南靠谱seo优化公司
  • 长沙企业网站seo整站优化哪家好
  • 北京做网站建设的公司排名百度关键词搜索技巧