Javascript 如何在不刷新页面的情况下滚动到顶部?
我正在创建一个页面,包含一个表单,我正在尝试使它滚动回顶部,我尝试的所有内容都会刷新页面。有没有办法避免这种情况?以下是脚本代码:Javascript 如何在不刷新页面的情况下滚动到顶部?,javascript,html,Javascript,Html,我正在创建一个页面,包含一个表单,我正在尝试使它滚动回顶部,我尝试的所有内容都会刷新页面。有没有办法避免这种情况?以下是脚本代码: function vizsgalja_h_ki_van_toltve() { var csaladnev=document.getElementById("csaladnev").value; var keresztnev=document.getElementById("keresztnev").value; var CNP=documen
function vizsgalja_h_ki_van_toltve()
{
var csaladnev=document.getElementById("csaladnev").value;
var keresztnev=document.getElementById("keresztnev").value;
var CNP=document.getElementById("CNP").value;
var magyar;
for(var i=0; i<document.getElementsByName("magyar").length; ++i)
if(document.getElementsByName("magyar")[i].checked)
magyar=document.getElementsByName("magyar")[i].value;
var roman;
for(var i=0; i<document.getElementsByName("roman").length; ++i)
if(document.getElementsByName("roman")[i].checked)
roman=document.getElementsByName("roman")[i].value;
var angol;
for(var i=0; i<document.getElementsByName("angol").length; ++i)
if(document.getElementsByName("angol")[i].checked)
angol=document.getElementsByName("angol")[i].value;
var tortenelem;
for(var i=0; i<document.getElementsByName("tortenelem").length; ++i)
if(document.getElementsByName("tortenelem")[i].checked)
tortenelem=document.getElementsByName("tortenelem")[i].value;
var irasbeli="";
for(var i=0; i<document.getElementsByName("irasbeli").length; ++i)
if(document.getElementsByName("irasbeli")[i].checked)
irasbeli=irasbeli+document.getElementsByName("irasbeli")[i].value+"<br>";
for(var i=0; i<document.getElementsByName("irasbeli2").length; ++i)
if(document.getElementsByName("irasbeli2")[i].checked)
irasbeli=irasbeli+document.getElementsByName("irasbeli2")[i].value+"<br>";
if(!csaladnev || !keresztnev || !CNP)
{
document.body.scrollTop = document.documentElement.scrollTop = 0;
document.getElementById("msg").innerHTML="Nincs minden adat kitöltve. Kérelek add meg ezeket.";// I want to make the page scroll to the top when this message appears.
}
else
{
document.getElementById("msg").innerHTML="";
document.getElementById("form").innerHTML="<h3>A megadott adataid:</h3>Családnév: :"+csaladnev+"<br>Keresztnev: "+keresztnev+"<br>C.N.P: "+CNP+"<br><br><h3>Szóbelik:</h3>Magyar: "+magyar+"<br>Román: "+roman+"<br>Angol:"+angol+"<br>Történelem"+tortenelem+"<br><h3>Írásbelik:</h3>"+irasbeli;
}
}
这是单击页面上的按钮后加载的唯一功能。我想让页面到达顶部,如果出现该消息,我会在代码中添加注释
编辑:也许如果我在顶部做一个锚,但是我如何从脚本中走到那里?将此添加到代码的开头:
<div id="top" style="display:none;"></div>
如果没有错误,它应该可以工作
您应该能够看到此代码段的效果:
<div id="top"></div><div style="display:block;height:100%;width:100%;background-color:#000000;"><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="#" onclick='window.location="#top";'>top</a>
试试这个可能会有帮助
window.onload = function() { setTimeout (function () { scrollTo(0,0); }, 0);}
增加了一个例子。为什么不看看呢?检查后告诉我。之后我会删除它,并在这里发布代码:为什么是div而不是锚?怎么了这根本不会影响它!另外,请记住将其放在后面,以防止前面出现其他可见元素。还有,@user3578184,您是否仍在等待10分钟的限制以选择正确的答案?div出现,然后消失。仅在第二次、第三次单击按钮时保持可见。我检查了这个示例,尝试ifdocument.getElementByIdmsg{window.scrollTo0,0;}
window.onload = function() { setTimeout (function () { scrollTo(0,0); }, 0);}