我实际上有一个类似于
的脚本<html>
<div id="visualization"></div>
</html>
<?
//PHP Script that get data from MySQL DB
array_product = array();
//fill array_product with DB data
?>
<script type="text/javascript">
var array_product = <?php echo json_encode($array_product); ?>;
var items = new vis.DataSet();
for (var i = 0; i < array_product_length; i++) {
var group;
items.add({
id: array_product[i],
group: 0,
content: '<div class="showProgress" id="'+array_product[i]+'"><b>Case n° ' + array_product[i] + '</b><br><div class="expand" id="'+array_product[i]+'" hidden>' Hidden by default '</div></div>',
start: array_product[i],
type: 'box',
});
};
var container = document.getElementById('visualization');
var options = {
groupOrder: 'content', // groupOrder can be a property name or a sorting function
zoomMin: 1000 * 60 * 60 * 24 *7, // 7 days in milliseconds
zoomMax: 1000 * 60 * 60 * 24 * 31 * 12, // about 12 months in milliseconds
/* maxHeight : 600 */ //Max height in px
};
var timeline = new vis.Timeline(container);
timeline.setOptions(options);
timeline.setItems(items);
</script>
<script type="text/javascript">
$(document).ready(function()
{
$('.showProgress').click(function(e)
{
var id = $(this).attr('id');
$('#'+id+'.expand').toggle();
timeline.redraw();
})
$('.showProgress').dblclick(function(e)
{
var id = $(this).attr('id');
window.open('showProgress.php?var='+id);
})
$('.expand').click(function(e)
{
var id = $(this).attr('id');
window.open('showProgress.php?var='+id);
})
}
</script>
当我使用Firefox时,事件很好,但Chrome或IE是不同的。一次/ 10次事件在Chrome / IE下运行。否则根本就没有。
为什么这么不同?我从来没有遇到过这个问题,也许是vis.js限制?
PS:时间轴是使用vis.js创建的。我在vis.js之前很好地加载了moment.js
<!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
PS2:我缩短了原始代码,因此变量可能会丢失