Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
PHP+;Jquery-在ajax调用后将页面移到顶部_Php_Jquery - Fatal编程技术网

PHP+;Jquery-在ajax调用后将页面移到顶部

PHP+;Jquery-在ajax调用后将页面移到顶部,php,jquery,Php,Jquery,我编写了这段代码,在9秒钟后,它调用了一个ajax函数,并将结果从服务器打印到客户端 这是JS代码: function changeSponsor() { $.ajax({ type: 'POST', cache: false, url: './auth/ajax.php', data: 'id=changespon', success: function(msg) { $('.men

我编写了这段代码,在9秒钟后,它调用了一个ajax函数,并将结果从服务器打印到客户端

这是JS代码:

function changeSponsor() {
    $.ajax({
        type: 'POST',
        cache: false,
        url: './auth/ajax.php',
        data: 'id=changespon',
        success: function(msg) {
            $('.menusponsor').hide().fadeIn(1000).html(msg);
        }
    });
}

$(document).ready(function() {
    x=window.setInterval("changeSponsor()", 9000);
});
结果打印在页面顶部的div上。当结果被打印到客户端时(如前所述,9秒后),我在页面底部,页面自动转到顶部。我不要这个

你可以在这里看到一个例子:打开这一页,到底部(这一页不长),几秒钟后(9)。您将在顶部滚动页面


如何解决这个问题?干杯

你能告诉我们当页面跳转到顶部时会发生什么吗?您是否正在调用此函数,而不是此setInterval


你的html是什么样子的?如果您要替换页面的很大一部分,很可能在一瞬间,页面很短,使您处于页面顶部。

您能告诉我们更多关于页面跳到顶部时发生的情况吗?您是否正在调用此函数,而不是此setInterval


你的html是什么样子的?如果要替换页面的很大一部分,很可能在一瞬间,页面很短,将您置于页面顶部。

您提到的任何内容都不会使页面向上移动,一定是其他内容

我发现当你对url做一些事情时,页面通常会向上移动,比如添加一个散列(#)?您是否正在添加哈希或以任何方式更改url

解决方案:

哦,问题在于html,您需要隐藏menusponsor的子元素,而不是容器本身

试试这个

function changeSponsor() {
    $.ajax({
        type: 'POST',
        cache: false,
        url: './auth/ajax.php',
        data: 'id=changespon',
        success: function(msg) {
            $('.menusponsor').find('div').hide().fadeIn(1000).html(msg);
        }
    });
}

看起来你提到的任何东西都不会使页面向上移动,一定是别的什么东西

我发现当你对url做一些事情时,页面通常会向上移动,比如添加一个散列(#)?您是否正在添加哈希或以任何方式更改url

解决方案:

哦,问题在于html,您需要隐藏menusponsor的子元素,而不是容器本身

试试这个

function changeSponsor() {
    $.ajax({
        type: 'POST',
        cache: false,
        url: './auth/ajax.php',
        data: 'id=changespon',
        success: function(msg) {
            $('.menusponsor').find('div').hide().fadeIn(1000).html(msg);
        }
    });
}

加载页面时,此函数刚刚启动(如document.ready函数中所示)。我没有什么叫它,只有页面本身。在(自然地)ajax调用之后,当页面从服务器获取数据时,页面会转到顶部。现在更清楚了吗?:)@不,不是真的。你只是描述你看到的,但你没有给我看你的html。简短的回答是:你发布的代码没有问题(即使
.hide().fadeIn(1000).html(msg)
有点模糊),所以它必须在其他地方。“我真的很高兴见到你。”@markzzz:-)。好的,所以我还是有点不确定为什么会发生这种情况。我制作了一个这个问题的模型,但正如你所看到的,我无法复制它。试着为我做点什么:将代码改为
.hide().html(msg).fadeIn(1000)。让我知道会发生什么。还有…为什么在URL之前使用
?@markzzz不用担心。对不起,我帮不了你了,但是我已经没有主意了。继续找,你会找到的。Alle tabelle…我知道你可能是从哪里得到这个想法的,但相信我…桌子并不是过时的。在那里大约十年的时间里,桌子被滥用来创建布局(例如,人们会用它来垂直居中)。从这个意义上说,表是“过时的”,但使用div来显示表格数据也是一个很大的错误。它使开发人员更难维护您的数据,也使搜索引擎和数据采集人员更难读取数据。加载页面时,只需启动此函数(如document.ready函数中所示)。我没有什么叫它,只有页面本身。在(自然地)ajax调用之后,当页面从服务器获取数据时,页面会转到顶部。现在更清楚了吗?:)@不,不是真的。你只是描述你看到的,但你没有给我看你的html。简短的回答是:你发布的代码没有问题(即使
.hide().fadeIn(1000).html(msg)
有点模糊),所以它必须在其他地方。“我真的很高兴见到你。”@markzzz:-)。好的,所以我还是有点不确定为什么会发生这种情况。我制作了一个这个问题的模型,但正如你所看到的,我无法复制它。试着为我做点什么:将代码改为
.hide().html(msg).fadeIn(1000)。让我知道会发生什么。还有…为什么在URL之前使用
?@markzzz不用担心。对不起,我帮不了你了,但是我已经没有主意了。继续找,你会找到的。Alle tabelle…我知道你可能是从哪里得到这个想法的,但相信我…桌子并不是过时的。在那里大约十年的时间里,桌子被滥用来创建布局(例如,人们会用它来垂直居中)。从这个意义上说,表是“过时的”,但使用div来显示表格数据也是一个很大的错误。它使开发人员更难维护您的数据,也使搜索引擎和数据采集人员更难读取您的数据。不,我不会更改URL。我试图将返回添加为false;但它没有改变!我可以发布链接吗?所以你可以看到:)我想我知道如何解决你的问题!事实上,这是可行的,但我现在需要解决另一个问题,可能是使用Json,因为我无法发送数组TroughtJQuery(至少我认为是这样)。但是,如果我隐藏容器,页面为什么会移到顶部?但是我管理一个部门。。。!无论如何,感谢您的努力:)没问题:)(如果我的解决方案解决了您的问题,那么将我的答案标记为已接受)对于数组,您可以序列化数组,或者将其作为json发送,这在我看来要好得多。jquery ajax有一个可选的accepttype变量,该变量接受“json”值。这里有一个快捷方式:$.post(url,vars,function(){},'json')使用firebug我将主体高度设置为900px高,滚动-u