I have a web application that uses fixed css width. (1280px).
With jquery, I added something like
$("html").css("zoom",window["zoomRatio"], "important");
as well as -webkit-transform and the one for mozilla.
Everything works fine, except I realized that one of my chart with the jquery flot plugin doesn’t work (tooltip remained to be triggered at the original position before zoom)
Looking into it, I realized that it is the jquery.bind() that caused the problem. Is there anyway I can alter the mouseover position?
Basically I am looking for a way to pretend the mouse is at a different position. I looked for this information online, but I cant find much useful info.
Thanks
Edit (my code for the tooltip)
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;
}
}
});
Because your tooltip has incoming
xandyvalues provided for that function, you need to test if a zoom condition is currentlytrue.Edit: This is done by creating a new
if statementwith two new variables ofzoomActivatedandzoomOnsetto work with your existing markup. This if statement will be invoked whenever a zoom condition is true.Fragment code example:
The above will check to see if
zoomActivatedis Booleantrueand if so will adjust bothxandyto compensate for the objects position that’s affected by the zoom method. That variable is settruewhen you are calling your jQuery zoom method, and reset to false when that zoom method has completed/returned to original state.The global variable
zoomOnsetis based on the current zoom magnitude, assuming that the zoom is for bothxandy. The actual value is a fixed value reflective of the fixed zoom value.