电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

js控制滾動(dòng)條滾動(dòng)的兩種簡單方法

瀏覽:3日期:2022-06-13 11:46:17
目錄 方法一 方法二總結(jié) 方法一

JavaScript 可以通過操作 scrollTop 屬性來控制元素的滾動(dòng),以下是一個(gè)簡單的示例代碼:

var element = document.getElementById('myElement'); // 獲取需要滾動(dòng)的元素element.scrollTop = 100; // 滾動(dòng)到距離頂部100像素的位置

在上面的示例中,首先通過 document.getElementById 獲取需要滾動(dòng)的元素,然后設(shè)置 scrollTop 屬性為需要滾動(dòng)到的位置,即可實(shí)現(xiàn)控制滾動(dòng)條滾動(dòng)。

如果需要平滑滾動(dòng),可以使用 window.requestAnimationFrame 方法來實(shí)現(xiàn)動(dòng)畫效果,示例代碼如下:

var element = document.getElementById('myElement'); // 獲取需要滾動(dòng)的元素var targetPosition = 100; // 滾動(dòng)到距離頂部100像素的位置var duration = 500; // 滾動(dòng)動(dòng)畫的持續(xù)時(shí)間(毫秒)var startTime = null; // 動(dòng)畫開始時(shí)間 function scrollTo(timestamp) { if (!startTime) startTime = timestamp; var progress = timestamp - startTime; var position = Math.min(progress / duration * targetPosition, targetPosition); element.scrollTop = position; if (progress < duration) { window.requestAnimationFrame(scrollTo); }} window.requestAnimationFrame(scrollTo); // 開始滾動(dòng)動(dòng)畫

在上面的示例中,首先獲取需要滾動(dòng)的元素和目標(biāo)位置,然后設(shè)置動(dòng)畫的持續(xù)時(shí)間。在 scrollTo 函數(shù)中,通過計(jì)算當(dāng)前進(jìn)度和位置,來實(shí)現(xiàn)平滑的滾動(dòng)效果。在滾動(dòng)動(dòng)畫未完成時(shí),調(diào)用 window.requestAnimationFrame 方法來繼續(xù)滾動(dòng),直到動(dòng)畫完成為止。

方法二

獲取滾動(dòng)距離

window.addEventListener('scroll', () => { scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; })const ScrollTop = (number = 0, time) => { if (!time) { document.body.scrollTop = document.documentElement.scrollTop = number; return number; } const spacingTime = 20; // 設(shè)置循環(huán)的間隔時(shí)間 值越小消耗性能越高 let spacingInex = time / spacingTime; // 計(jì)算循環(huán)的次數(shù) let nowTop = document.body.scrollTop + document.documentElement.scrollTop; // 獲取當(dāng)前滾動(dòng)條位置 let everTop = (number - nowTop) / spacingInex; // 計(jì)算每次滑動(dòng)的距離 let scrollTimer = setInterval(() => { if (spacingInex > 0) { spacingInex--; ScrollTop(nowTop += everTop); } else { clearInterval(scrollTimer); // 清除計(jì)時(shí)器 } }, spacingTime);}

調(diào)用示例

ScrollTop(scrollTop, 500)總結(jié)

到此這篇關(guān)于js控制滾動(dòng)條滾動(dòng)的兩種簡單方法的文章就介紹到這了,更多相關(guān)js控制滾動(dòng)條滾動(dòng)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
主站蜘蛛池模板: 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 派财经_聚焦数字经济内容服务平台 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 金属软管_不锈钢金属软管_巩义市润达管道设备制造有限公司 | 暴风影音| 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | POS机办理_个人POS机免费领取 - 银联POS机申请首页 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 安徽成考网-安徽成人高考网| 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 网架支座@球铰支座@钢结构支座@成品支座厂家@万向滑动支座_桥兴工程橡胶有限公司 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 纯水设备_苏州皙全超纯水设备水处理设备生产厂家| 杜甫仪器官网|实验室平行反应器|升降水浴锅|台式低温循环泵 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 【连江县榕彩涂料有限公司】官方网站 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 山东信蓝建设有限公司官网| 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 搪瓷反应釜厂家,淄博搪瓷反应釜-淄博卓耀| 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 |