=
js没有模拟click这样的scroll函数。仅仅通过控制scrollUp, scrollLeft坐标控制滚动条位置。
也就是说,js只有滚动条,没有滚轮。
但是autoit中有滚轮,具体见autoit鼠标控制文档。
=
解决方法1:利用jquery动画来控制滚轮位置,并达到滚动效果。
$("html,body").animate({scrollTop : $(this).offset().top}, 3000);
可以直接复制到html文件中运行,查看效果。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js" type="text/javascript"></script> <script> function go(index){ //$(document).scrollTop(1); $("html,body").animate({scrollTop: $("#"+index).offset().top}, 1000); } </script> </head> <body> <div> <a href="javascript:go('box1');" >go box1</a> <a href="javascript:go('box2');" >go box2</a> </div> <div id="box1">box1</div> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <div> <a href="javascript:go('box1');" >go box1</a> <a href="javascript:go('box2');" >go box2</a> </div> <div id="box2">box2</div> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <div> <a href="javascript:go('box1');" >go box1</a> <a href="javascript:go('box2');" >go box2</a> </div> </body> </html>
如果要不停的运行好多次,用js的定时执行次数就可以了。
setInterval(function(){ scroll_method_xxx(); }, 5000);
参考(注意有优化和改动):https://blog.csdn.net/sauzny/article/details/84280501
jquery 控制滚动条 实现自动滚动浏览
from:https://blog.csdn.net/qq_33281259/article/details/117016858
<!doctype html> <html lang="en"> <head> <script type="text/javascript" src="{$p_tpl}/js/jquery-3.5.1.js" charset="utf-8"></script> <style> .kj{ height:70px; width:25%; float:left; color:#fff; font-size:40px; } </style> </head> <body> <?php $arr=['red','blue','green','yellow','gray','black']; ?> <for start='0' end='200' comparison="lt" step="1" name="i"> <div class="kj" data-cc="{$i}" style="background-color:{$arr[$i%6]}">{$i}</div> </for> </body> <script> var zd_height=200; setInterval(function(){ scroll_auto(); },5000); function scroll_auto(){ var gdt_height =$(window).scrollTop();//当前滚动条高度 var kj_height = $(window).height();//浏览器可见区域高度 var body_height = $(document).height();//body实际高度 if(gdt_height + kj_height < body_height){ //滚动条高度加可见高度没超出实际高度--往下滚动指定高度 $("html,body").animate({scrollTop:gdt_height + zd_height}, 500); }else if(gdt_height + kj_height > body_height){ //滚动条高度加可见高度超出实际高度--拉到底部 $("html,body").animate({scrollTop:body_height - kj_height}, 500); }else{ //滚动条高度加可见高度等于实际高度--回到顶部 $("html,body").animate({scrollTop:"0px"}, zd_height); } } </script> </html>
参考案例:
js控制web页面滚动距离 鼠标滚轮移动距离控制 平滑滚动提高web页面体验感
参考:地址:https://blog.csdn.net/m3374k/article/details/105838216
实现思路
首先明确,我们的页面中有多少需要滚动定位的元素,比如有这样一个列表[ele1,ele2,ele3],当用户滚动滚轮时,需要暂时让滚轮事件停止响应,因为滚轮事件的触发条件是滚轮里的卡点(滚动时明显的停顿感)每动一下就要触发,所以一次触发后需要先停止一会(防止反复触发),并且,在触发后,如果由代码实现滚动,还需要阻止用户滚轮的默认行为,否则两种滚动方式都会运行,页面会卡住不动。
明确滚轮事件的原理之后,需要确认是向上滚动还是向下,一次滚动的距离是多少。根据滚轮事件,向上向下很好判断。滚动距离需要根据实际情况,比如,我们在页面中抓了3个点,获取这3个点距离文档顶部的距离就可以了,之后实现页面滚动的函数,让页面滚动到我们希望的位置。
技术点/知识点
需要了解一下技术点:
- preventDefault ,阻止浏览器默认事件;
- window.scrollTo 页面进行滚动;
- mousewheel 鼠标滚轮触发事件;
- document.querySelector 选取页面元素;
-
element.offsetTop 当前元素距离文档顶部距离;
了解了这几点,就能实现我们的需求了。
在代码中,
有2个关键的变量,一个是cur_index,描述当前滚动到哪个元素。
invoke,描述当前是否在滚动中,在moveTo函数中,先判断该变量,避免重复触发。
补充知识:
jQuery scrollTop() 方法
jQuery 动画 - animate() 方法
=
=
=
相关推荐
功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。
labview程序代码参考学习使用,希望对你有所帮助。
大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频