Jquery 成功后,Ajax请求将滚动到顶部。
get_queue_data()每10秒调用一次,每10秒调用一次ajax查询。问题是每次调用ajax调用后,页面都会滚动到顶部。大多数在线解决方案都告诉我使用preventEventDefault。我尝试将一个变量传递给函数get_queue_data,并尝试调用preventEventDefault。还是不行。我还尝试将false返回给get_queue_data函数Jquery 成功后,Ajax请求将滚动到顶部。,jquery,ajax,highcharts,Jquery,Ajax,Highcharts,get_queue_data()每10秒调用一次,每10秒调用一次ajax查询。问题是每次调用ajax调用后,页面都会滚动到顶部。大多数在线解决方案都告诉我使用preventEventDefault。我尝试将一个变量传递给函数get_queue_data,并尝试调用preventEventDefault。还是不行。我还尝试将false返回给get_queue_data函数 get_queue_data(); setInterval(get_queue_data,10000); fu
get_queue_data();
setInterval(get_queue_data,10000);
function get_queue_data() {
$.ajax({
url: '/a/order/order_process/all_queues_data',
dataType: 'json',
async: true,
success: function (data) {
for(var k=0;k<22;k++) {
chart.series[k].addPoint([data.all_queues_data[k]['messages']]);
var temp_series = chart.series[k];
average_chart_data[k] = (temp_series.data[temp_series.data.length-1].y+(average_chart_data[k]*(temp_series.data.length-1)))/(temp_series.data.length);
}
//console.log(average_chart_data, last_value_chart_data);
$('#queue_report').highcharts({
chart: {
height : 500,
margin :50,
width: $('#queue_data').width(),
events: {
load: function () {
function create_label(message, x, y, fill_color, link) {
ren.label(message, x, y)
.attr({
fill: fill_color,
stroke: 'white',
'stroke-width': 2,
padding: 5,
cursor: 'pointer',
r: 5
})
.on('click', function () {
var win = window.open(link, '_blank');
win.focus();
})
.add(data.all_queues_data[0][0])
.shadow(true);
}
}
}
});
}
});
}
get_queue_data();
setInterval(获取队列数据,10000);
函数get_queue_data(){
$.ajax({
url:“/a/order/order\U process/all\U queues\U data”,
数据类型:“json”,
async:true,
成功:功能(数据){
对于(var k=0;k因此,我的代码的问题是,图表的高度变为零,每次ajax调用后我都会转到页面的开头。因此,我所做的是创建了一个具有标准高度的容器,其中有我的高图表。这将确保高图表所在的div的高度永远不会为零。解决了!!红色图表的raw替换DOM元素,使其高度暂时变为0。页面上还有其他东西可以保持文档的高度吗?图表的重画替换DOM元素,使其高度暂时变为0。如果我是你,我会将容器的高度更改为图表的高度,这应该是正确的即使你正在重画图表,至少要保持页面的高度不变。@Chris我确实有一个表格要显示在高图表下面,所以将页面高度设置为图表高度是不可能的work@SzabolcsP是的,重画可能是个问题。我试着把高车放在一个div中,并将其高度设置为高图表的高度。仍然没有没用。在我回答了一条评论后,你可以让我把它写在一个答案中(一天后我就这么做了),而不是回答你自己并把它标记为已回答……我想人们只是关心你可能想读的答案