Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不刷新页面的情况下滚动到顶部?_Javascript_Html - Fatal编程技术网

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);}