Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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_Jquery_Html_Svg_Google Visualization - Fatal编程技术网

Javascript 谷歌时间线图重新绘制位置

Javascript 谷歌时间线图重新绘制位置,javascript,jquery,html,svg,google-visualization,Javascript,Jquery,Html,Svg,Google Visualization,当绘制图表时,它会滚动到顶部,但我试图使图表在重画时保持在同一位置。因为我看不到源代码,所以我尝试获取滚动位置并在重画时滚动到它,但它不起作用。有人能帮我吗?或者有没有更好的方法。多谢各位 <div class="row"> <div class="col-12"> <div id="timelineDiv"> <div class="text-center"> <p class="m

当绘制图表时,它会滚动到顶部,但我试图使图表在重画时保持在同一位置。因为我看不到源代码,所以我尝试获取滚动位置并在重画时滚动到它,但它不起作用。有人能帮我吗?或者有没有更好的方法。多谢各位

 <div class="row">
    <div class="col-12">
      <div id="timelineDiv">
        <div class="text-center">
          <p class="mes">{{timelinecontr.mess}}</p>
        </div>
        <div class="col-12">
          <div id="timeline" class="chart"></div>
        </div>
      </div>
    </div>
  </div>

#timelineDiv{
  overflow-x: scroll;
  overflow-y: scroll;
  white-space: nowrap;
  border: 13px solid #bed5cd;
  width: 100%;
  margin: 0 auto;
  position: relative;
  background-color: deepskyblue;
  height: 550px;
}

timelinecontr.pos = $('#timeline div').scrollTop(); // position
      $('#timeline div').scrollTop(timelinecontr.pos) // this is called on chart redraw

{{timelinecontrol.mess}

#时间线{ 溢出-x:滚动; 溢出y:滚动; 空白:nowrap; 边框:13px实心#bed5cd; 宽度:100%; 保证金:0自动; 位置:相对位置; 背景颜色:深蓝; 高度:550px; } timelinecontr.pos=$(“#timeline div”).scrollTop();//位置 $('#timeline div').scrollTop(timeline contr.pos)//这在图表重画时调用
在设置滚动位置之前,需要等待图表完成绘制

var rowHeight = 42;
var timelinePos;
google.visualization.events.addListener(chart, 'ready', function () {
  $('#timeline').scrollTop(timelinePos);
});

function drawChart() {
  timelinePos = $('#timeline').scrollTop();
  chart.draw(dataTable, {
    height: (dataTable.getNumberOfRows() * rowHeight) + rowHeight
  });
}
在绘制图表之前,获取滚动位置

var rowHeight = 42;
var timelinePos;
google.visualization.events.addListener(chart, 'ready', function () {
  $('#timeline').scrollTop(timelinePos);
});

function drawChart() {
  timelinePos = $('#timeline').scrollTop();
  chart.draw(dataTable, {
    height: (dataTable.getNumberOfRows() * rowHeight) + rowHeight
  });
}
当图表的
'ready'
事件触发时,设置滚动位置

var rowHeight = 42;
var timelinePos;
google.visualization.events.addListener(chart, 'ready', function () {
  $('#timeline').scrollTop(timelinePos);
});

function drawChart() {
  timelinePos = $('#timeline').scrollTop();
  chart.draw(dataTable, {
    height: (dataTable.getNumberOfRows() * rowHeight) + rowHeight
  });
}
注意:如果图表上没有设置高度选项,时间线将使用自己的滚动条


请参阅以下工作片段

google.charts.load('current'{
回调:函数(){
var container=document.getElementById('timeline');
var chart=newgoogle.visualization.Timeline(容器);
var dataTable=new google.visualization.dataTable();
addColumn({type:'string',id:'Room'});
addColumn({type:'string',id:'Name'});
addColumn({type:'date',id:'Start'});
addColumn({type:'date',id:'End'});
dataTable.addRows([
['1','A',新日期(2011年3月30日),新日期(2012年2月4日)],
['2','B',新日期(2012,2,4),新日期(2013,3,30)],
['3','C',新日期(2013年3月30日),新日期(2014年2月4日)],
['4','D',新日期(2014年2月4日),新日期(2015年2月4日)],
['5','E',新日期(2015年3月30日),新日期(2016年2月4日)],
['6','F',新日期(2016年2月4日),新日期(2017年2月4日)],
['7','G',新日期(2017年2月4日),新日期(2018年2月4日)],
['8','H',新日期(2018年2月4日),新日期(2019年2月4日)],
['9','I',新日期(2019年2月4日),新日期(2020年2月4日)],
['0','J',新日期(2020年2月4日),新日期(2021年2月4日)]
]);
var行高=42;
var timelinePos;
google.visualization.events.addListener(图表'ready',函数(){
$(“#时间线”).scrollTop(timelinePos);
});
函数绘图图(){
timelinePos=$(“#时间线”).scrollTop();
图表绘制(数据表{
高度:(dataTable.getNumberOfRows()*rowHeight)+rowHeight
});
}
$(“#绘制图表”)。在('click',drawChart');
$(窗口)。调整大小(绘图图);
图纸();
},
软件包:[“时间线”]
});
#时间线{
溢出-x:滚动;
溢出y:滚动;
空白:nowrap;
边框:13px实心#bed5cd;
宽度:100%;
保证金:0自动;
位置:相对位置;
背景颜色:深蓝;
高度:350px;
}


绘制图表
似乎工作正常,在最初绘制图表后,滚动到某个位置并按下“绘制图表”按钮--滚动位置保持在按下按钮之前的位置您是对的,我没有正确阅读此内容,希望它在绘制后滚动。谢谢