我有一个使用固定css宽度的Web应用程序。 (1280px)。
使用jquery,我添加了类似
的内容$("html").css("zoom",window["zoomRatio"], "important");
以及-webkit-transform
和mozilla的那个。
一切正常,除了我意识到我的一个带有jquery flot插件的图表不起作用(工具提示仍然在缩放之前在原始位置被触发)
调查一下,我意识到导致问题的是jquery.bind()。无论如何我可以改变鼠标悬停位置吗?
基本上我正在寻找一种假装鼠标处于不同位置的方法。我在网上查找了这些信息,但是我找不到很多有用的信息。
由于
编辑(我的工具提示代码)
function showTooltip(x, y, contents) {
$('<div id="tooltip">' + contents + '</div>').css( {
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 5,
border: '1px solid #fdd',
padding: '2px',
'background-color': '#fee',
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
var previousPoint = null;
$("#placeholder").bind("plothover", function (event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if ($("#enableTooltip:checked").length > 0) {
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0].toFixed(2),
y = item.datapoint[1].toFixed(2);
showTooltip(item.pageX, item.pageY,
item.series.label + " of " + x + " = " + y);
}
}
else {
$("#tooltip").remove();
previousPoint = null;
}
}
});
答案 0 :(得分:1)
由于工具提示为该功能提供了传入的x
和y
值,因此您需要测试当前是否有true
缩放条件。
修改:这是通过创建一个包含if statement
和zoomActivated
两个新变量的新zoomOnset
来完成的,以便与现有标记配合使用。只要缩放条件为真,就会调用此if语句。
片段代码示例:
function showTooltip(x, y, contents) {
if(zoomActivated){
x = x + zoomOnset;
y = y + zoomOnset;
}
$('<div id="tooltip">' + contents + '</div>').css( { ....
以上内容将检查zoomActivated
是否为布尔true
,如果是,则调整x
和y
以补偿对象的位置受缩放方法影响。当您调用jQuery缩放方法时,该变量设置为true
,当该缩放方法完成/返回到原始状态时,该变量重置为false。
全局变量zoomOnset
基于当前缩放幅度,假设缩放适用于x
和y
。实际值是反映固定缩放值的固定值。