社区首页 >问答首页 >Javascript:切换自动滚动或向下滚动

Javascript:切换自动滚动或向下滚动
EN

Stack Overflow用户
提问于 2020-07-23 07:47:24
回答 1查看 871关注 0票数 1

我有一个页面,包含一个按钮和两个单选按钮放置在页面底部附近。我的目标是创建一个由按钮触发的函数,该按钮根据两个单选按钮是否处于活动状态,向上或向下滚动页面。一旦用户选择了两个单选按钮,按钮就会滚动到页面的顶部。所提供的代码片段具有我到目前为止所拥有的代码。一旦两个单选按钮被激活,我希望‘向下滚动’代码不再工作,让按钮将用户移动到页面的顶部。在这个例子和Firefox中,它的工作原理是一样的,但是chrome和edge很难解释它。在这些浏览器中,页面在顶部时会滚动到底部,考虑到“向下滚动”代码放在函数的开头,这是有意义的。如何对代码进行优化/分离,使其在没有两个窗口的情况下按预期工作。

代码语言:javascript
代码运行次数:0
复制
function Push() {
    window.scrollTo(0,document.body.scrollHeight);
    if(mode1.checked) {
        if(mode2.checked) {
            window.scrollTo({top: 0});
}}}
代码语言:javascript
代码运行次数:0
复制
<style>
  html {
    height: 500px;
  }
</style>

<body>

</br></br></br></br></br></br></br></br></br></br></br>

<div align="center">
  <button id="button01" onclick="Push()">Push</button>
</div>

</br></br></br></br></br></br></br></br></br></br></br></br>

<div align="center">
  <form id="mode">
    <label><input type="radio" id="mode1"/></label>
    <label><input type="radio" id="mode2"/></label>
  </form>
</div>

</body>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-23 08:00:27

编写它的方式;当检查两个收音机并调用Push()函数时,页面将首先滚动到底部,然后滚动到顶部。它发生得太快了,以至于你没有注意到(至少我没有),但是代码说正在发生这种事情。

编辑:--我通过在这里设置一个断点:window.scrollTo({top: 0});在代码中进行测试,证明了这种情况。当它在这里中断时,它已经滚动到底部,然后当我进入下一个函数时,调用它到顶部。

我会像这样更改Push()函数:

代码语言:javascript
代码运行次数:0
复制
    function Push() {
        if(mode1.checked && mode2.checked) {
            window.scrollTo({top: 0});
        } else {
            window.scrollTo(0,document.body.scrollHeight);
        }
    }

这样做只会导致一个滚动动作启动(向上或向下)。

IE似乎也不支持使用带有选项的scrollTo window.scrollTo({top: 0});**.,就像在这里所做的:最好使用** window.scrollTo(0,0)**.我在下面的代码片段中使用了这一点。**这可能也是您的Chrome和Edge问题,这取决于您正在测试的每个版本。参见:https://caniuse.com/#feat=element-scroll-methods

最后一个值得注意的注意事项是:由于单选按钮的设计功能,您目前无法“取消”单选按钮。我想你知道这点,这不是问题,但我想我应该提一下。如果需要,使用复选框或自定义复选框将允许您完成这一任务。还有其他方法可以实现这一点。

代码语言:javascript
代码运行次数:0
复制
function Push() {
    if(mode1.checked && mode2.checked) {
        window.scrollTo(0,0);
    } else {
        window.scrollTo(0,document.body.scrollHeight);
    }
}
代码语言:javascript
代码运行次数:0
复制
html {
    height: 500px;
  }
代码语言:javascript
代码运行次数:0
复制
<html>

<body>

</br></br></br></br></br></br></br></br></br></br></br>

<div align="center">
  <button id="button01" onclick="Push()">Push</button>
</div>

</br></br></br></br></br></br></br></br></br></br></br></br>

<div align="center">
  <form id="mode">
    <label><input type="radio" id="mode1"/></label>
    <label><input type="radio" id="mode2"/></label>
  </form>
</div>

</body>
</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63058152

复制
相关文章
Javascript中数组的使用
Array在Javascript程序开发中是一个经常使用到。一个数组可以存储Javascript支持的任何数据类型。 1.基本知识点 //创建一个对象并初始化它 var preInitArray = new Array("First Item", "Second Item", "Third Item"); for (var i = 0; i < preInitArray.length; i++) { console.log(preInitArray[i]); }
八哥
2018/01/18
8.4K0
在HTML中使用JavaScript
前言 JavaScript是浏览器的内置脚本语言。当网页中嵌入了JavaScript脚本,浏览器加载网页时,就会执行脚本,从而操作浏览器,实现各种动态效果 JavaScript代码嵌入网页的方法 1、<script>元素直接嵌入代码 <script type="text/javascript"> function sayHello() { alert("hello!"); } </script> 2、<script>元素加载外部脚本 <script type="text/javascript" sr
pitaojin
2018/05/25
1.4K0
javascript 数组求和_javascript数组的定义
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/11
2.1K0
使用javascript实现数组截取
前言:在开发项目的过程中遇到这样的一个问题,就是需要对接口查询出来的数据两个两个的进行截取,之后分别两个两个的放入数组中,再把这些数组放到一个新数组中,实现方法如下:
全栈程序员站长
2022/09/05
9560
JavaScript SheetJS将 Html 表转换为 Excel 文件
在本教程中,我们可以在客户端从我们的 HTML 表数据创建一个 excel 文件。即使用javascript将HTML 表导出到Excel (.xlsx)。
全栈程序员站长
2022/09/09
5.4K0
JavaScript 数组排序函数sort()的使用
  sort()方法是js中对于数组进行排序的函数。其可以方便快捷的实现对于数组的排序而不用我们自己编写排序方法。注:sort()函数会直接改变原数组。
全栈程序员站长
2022/08/31
2.3K0
Javascript设置广告和时间表和数组的学习
1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title></title> 5 </head> 6 <body> 7 <hr>
别先生
2017/12/29
8920
Javascript设置广告和时间表和数组的学习
二、在HTML中使用JavaScript
defer属性可以让脚本在文档完全呈现之后再执行,延迟脚本总是按照指定它们的顺序执行。
jojo
2022/03/21
8090
javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
许多项目不是从定义的结构开始, 而是随着时间的流逝而变化。例如, 一个基本博客可能从一开始就使用HTML格式将其内容存储在数据库中, 但是由于其简单性, 总有一天某人可能希望开始使用Markdown而不是HTML, 在这种情况下, 你需要从一种格式转换为另一种格式。如果你将服务器端逻辑与JavaScript(Node.js)一起使用, 甚至直接在浏览器中将HTML转换为编辑器中的Markdown, 则可以使用Turndown库轻松地完成此类任务, HTML到用JavaScript编写的Markdown转换器。
全栈程序员站长
2022/10/04
4K0
重学js之在HTML中使用JavaScript
2、值得注意的是在js代码解析的过程中页面中其他内容将不会被加载和解析,直到该段js执行完成。
执行上下文
2022/07/26
8140
Postgresql数组与Oracle嵌套表的使用区别
arr_arr_num类型的元素中的任意一个位置,都可以保存arr_num类型,无论arr_num类型中有几个元素。
mingjie
2023/05/23
1K0
Postgresql数组与Oracle嵌套表的使用区别
JavaScript数组
数组是一种特殊类型的对象。在 JavaScript 中对数组使用 typeof 运算符会返回 “object”。
hotarugali
2022/03/01
1.2K0
JavaScript——数组
数组(Array)是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。
岳泽以
2022/10/26
6550
JavaScript——数组
JavaScript—数组
​ var 数组名 = new Array(); //创建空数组
Cikian.
2022/09/22
6400
javascript 数组的组合
今天在开发项目过程中,遇到了一个需求,先请求了30个数据,放在一个列表中,并渲染展示出来,然后又请求了另外的30个数据,放在一个列表中,想在前一个数据的后面继续展示,即将第二次请求的来的数据列表跟第一次请求的数据列表做一个合并,需要用到数据的合并,接下来给大家介绍一下javascript中数据合并的几个方法
@零一
2021/01/29
1.1K0
Javascript中的数组
数组的定义: var colors = new Array(20); var colors = new Array('red');  // ['red'] var colors = ['red', 'green']; 判断变量是不是数组: colors instanceof Array;  //true Array.isArray(colors); //true 将数组转化为字符串: colors.toString(); // 'red,green' colors.join(' ')
宅蓝三木
2018/02/07
3.1K0
JavaScript HTML DOM - 改变 HTML
今天的日期是: Mon Jul 19 2021 15:52:44 GMT+0800 (中国标准时间)
陈不成i
2021/07/20
4.3K0
javascript数组
数组也是一种数据类型,用于存放数据。在各大语言中都存在数组,但是语法由于大同小异。在JavaScript中数组也是一个非常重要的东西,所以有必要好好的了解一下。
踏浪
2019/07/31
7220
JavaScript——数组
var colors = ["orange", "blue", "1", 2, 3]; //删除 colors.splice(0, 1); console.log("删除:" + colors.toString());//删除:blue,1,2,3 //插入 colors.splice(1, 0, "a", "b", "c"); console.log("插入:" + colors.toString());//插入:blue,a,b,c,1,2,3 //替换 colors.splice(7, 0, "d").toString() console.log("替换:" + colors.toString());//替换:blue,a,b,c,1,2,3,d
喝茶去
2019/04/16
9660
JavaScript 数组
数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。
RiemannHypothesis
2022/10/09
5440

相似问题

使用Javascript数组创建HTML表?

15

数组javascript的HTML表

36

来自Javascript数组的Html表

22

Javascript数组到html表

52

html输入表中数组的Javascript数组

42
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文