如何滚动到顶部,而不刷新页面?

时间:2014-04-27 12:14:10

标签: javascript html

我正在制作一个包含表单的页面,我正在尝试将其滚动回到顶部,我正在尝试刷新页面。有什么想法可以避免这种情况吗?

这是脚本的代码:

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

}

这是唯一一个在点击页面上的按钮后加载的功能。如果出现该消息,我想让页面到达顶部(我在代码中添加了注释)。

编辑:也许如果我在顶部制作一个锚点,但我如何从脚本中去那里?

2 个答案:

答案 0 :(得分:0)

将其添加到代码的head

<div id="top" style="display:none;"></div>

在javascript中使用它:

window.location = "#top";

如果没有错误,它应该有用。

您应该能够看到此代码段的效果:

<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>

答案 1 :(得分:0)

试试这可能有帮助

window.onload = function() { setTimeout (function () {  scrollTo(0,0); }, 0);}