为什么赢了';当我使用这个javascript函数时,滚动条不会上升吗?

为什么赢了';当我使用这个javascript函数时,滚动条不会上升吗?,javascript,jquery,html,dom,window,Javascript,Jquery,Html,Dom,Window,我有一个javascript: $(window).scroll(function () { if ($(window).scrollTop() > 0 && !document.contains(document.getElementById('toTop'))) { var top = '<div id="toTop" onclick="tTop()"></div>'; $('body').append(t

我有一个javascript:

$(window).scroll(function () {
    if ($(window).scrollTop() > 0 && !document.contains(document.getElementById('toTop'))) {
        var top = '<div id="toTop" onclick="tTop()"></div>';
        $('body').append(top);
    }
});
function tTop() {
    $('html,body').scrollTop(0);
}
$(window).scroll(function () {
    if (document.contains(document.getElementById('toTop')) && $(window).scrollTop() == 0) {
        $('div').remove('#toTop');
    }
});
$(窗口)。滚动(函数(){
if($(window.scrollTop()>0&&!document.contains(document.getElementById('toTop')){
var-top='';
$('body')。追加(顶部);
}
});
函数tTop(){
$('html,body')。滚动顶部(0);
}
$(窗口)。滚动(函数(){
if(document.contains(document.getElementById('toTop'))&&&$(window.scrollTop()==0){
$('div')。删除('toTop');
}
});
如果在滚动条位于顶部时加载页面,则工作正常;但是,当我在滚动条位于底部时刷新页面时,页面仍将向上滚动,但滚动仍保持在底部。谁能告诉我怎么解决这个问题吗

当我在滚动条位于底部时刷新页面时 页面仍将向上滚动,但滚动保持在底部

也许我看错了,但你是否担心按钮会停留在页面底部?或
$(窗口)。页面刷新后,单击按钮后scrollTop()
是否设置为0

无论如何,我会将scroll回调分离到另一个方法,检查元素是否存在(我在示例中使用了按钮而不是div)


你意识到每次你滚动时,
top
都会被添加到你的页面上……是的,我在问这个问题几秒钟后就修复了这个问题,哈哈哈,我现在就更新代码。你最终成功了吗?我不确定你的下半部分答案是什么,但这听起来更像是我在寻找的答案。然而,我没有问题删除按钮,我只是想更新代码无论如何,我一定会尝试这个后半部分。谢谢。第一个代码块添加了一个检查,以查看网页上是否存在该按钮。它还使用相同的函数/绑定将其删除。我注意到您正在绑定
$(窗口)。滚动(
两次,这可能是问题的一部分。第二个/最后一个代码块在页面加载后运行该功能一次,检查滚动位置,如果需要执行任何操作(添加或删除按钮),然后将滚动事件绑定到回拨(你已经这么做了)。好吧,我现在可以添加和删除按钮了,但只是滚动条不会随着页面一起上升,只有当我用底部的滚动条刷新页面时才会出现这种情况。我可以在IE(10)/Chrome(28)/Firefox(22)中使用我的代码。你所问的代码在Chrome/Firefox中工作(也在刷新之后),但在IE中根本不起作用(document.contains不起作用)。您的javascript是否在文档就绪函数中(例如:
$(function(){
)?它不在文档就绪函数中,您认为可以修复它吗?
function scrollCallback() {
    if ($(window).scrollTop() > 0) {
        if ($('body').has('#toTop').length == false) {
            var top = '<input type="button" id="toTop" onclick="tTop();" value="top" />';
            $('body').append(top);
        }
    } 
    else {
        // Removes the button if the scroll is at the top of the page.
        $('body #toTop').remove();
    }
}
$(function() {
    // Execute it when you load the page.
    scrollCallback();       
    $(window).scroll(scrollCallback);
});