2

固定のCSS幅を使用するWebアプリケーションがあります。(1280px)。

jqueryで、私は次のようなものを追加しました

$("html").css("zoom",window["zoomRatio"], "important");

だけでなく-webkit-transform、Mozilla用のもの。

jquery flotプラグインを使用したチャートの1つが機能しないことに気付いた以外は、すべて正常に機能します(ツールチップはズーム前の元の位置でトリガーされたままです)

調べてみると、問題の原因は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;            
        }
    }
});
4

1 に答える 1

1

ツールチップにはその関数の入力値xと値が用意されているためy、ズーム条件が現在であるかどうかをテストする必要がありますtrue

編集:これは、if statementとの2つの新しい変数を使用zoomActivatedして新しい変数を作成zoomOnsetし、既存のマークアップを操作することによって行われます。このifステートメントは、ズーム条件がtrueの場合は常に呼び出されます。

フラグメントコードの例:

function showTooltip(x, y, contents) {

    if(zoomActivated){

        x = x + zoomOnset;
        y = y + zoomOnset;

    }

    $('<div id="tooltip">' + contents + '</div>').css( { ....

上記は、がブール値であるかどうかを確認し、zoomActivatedブール値である場合は両方をtrue調整し、ズーム方法の影響を受けるオブジェクトの位置を補正します。この変数は、jQueryズームメソッドを呼び出すときに設定され、ズームメソッドが完了/元の状態に戻るとfalseにリセットされます。xytrue

グローバル変数は、ズームがとの両方にzoomOnset対応していると仮定して、現在のズームの大きさに基づいています。実際の値は、固定ズーム値を反映した固定値です。xy

于 2012-06-21T22:23:12.303 に答える