使用 Highmaps,为什么我的 jQuery 淡入淡出中的回调发生在淡入淡出完成之前?
With Highmaps, why is the callback in my jQuery fadein happening prior to the fade completing?
我有一个带有一对用于在数据集之间切换的按钮的 HighMap - 这是按预期工作的。我想添加淡入淡出,以便数据集之间的切换平滑。然而地图似乎在淡出完成之前更新数据,尽管发生在淡出的回调函数中。
下面是与按钮相关的代码:
var resetMap = function(dataCurrent) {
SetOptions(dataCurrent);
AccessMap.update({title: {text: dataTitle}});
AccessMap.update({colorAxis: {max: dataMax, min: dataMin, minColor: dataMinColor, maxColor: dataMaxColor,type: dataScale}});
AccessMap.update({series:[{name: dataTitle,tooltip:{ valueSuffix: dataTooltipSuffix}}]});
AccessMap.series[0].setData(dataCurrent.slice());
};
$('#setdataPop').click(function() {
$("#container").fadeOut(500,resetMap(pop));
$("#container").fadeIn(500);
});
$('#setdataRate').click(function() {
$("#container").fadeOut(500,resetMap(rate16));
$("#container").fadeIn();
});
我的完整工作地图(包括该代码段中引用的 setOptions 函数)的简化版本在这里:
您正在原地执行 resetMap
,没有传递函数引用。您可能还想 运行 回调中的 fadeIn
:
$("#container").fadeOut(500, function() {
resetMap(pop);
$("#container").fadeIn(500);
});
我有一个带有一对用于在数据集之间切换的按钮的 HighMap - 这是按预期工作的。我想添加淡入淡出,以便数据集之间的切换平滑。然而地图似乎在淡出完成之前更新数据,尽管发生在淡出的回调函数中。
下面是与按钮相关的代码:
var resetMap = function(dataCurrent) {
SetOptions(dataCurrent);
AccessMap.update({title: {text: dataTitle}});
AccessMap.update({colorAxis: {max: dataMax, min: dataMin, minColor: dataMinColor, maxColor: dataMaxColor,type: dataScale}});
AccessMap.update({series:[{name: dataTitle,tooltip:{ valueSuffix: dataTooltipSuffix}}]});
AccessMap.series[0].setData(dataCurrent.slice());
};
$('#setdataPop').click(function() {
$("#container").fadeOut(500,resetMap(pop));
$("#container").fadeIn(500);
});
$('#setdataRate').click(function() {
$("#container").fadeOut(500,resetMap(rate16));
$("#container").fadeIn();
});
我的完整工作地图(包括该代码段中引用的 setOptions 函数)的简化版本在这里:
您正在原地执行 resetMap
,没有传递函数引用。您可能还想 运行 回调中的 fadeIn
:
$("#container").fadeOut(500, function() {
resetMap(pop);
$("#container").fadeIn(500);
});