4

私は新しいプログラマーであり、英語は母国語ではありません。プログラミングと英語の間違いの両方について、事前にご容赦ください。

これが私がやりたいことです:私は画像とテーブルを含むdivタグを持っています(このdivタグの外に)。jqueryを介して、「トリミング効果」をアーカイブしようとしているので、テーブルをドラッグ可能にし、ドラッグ中に画像をコピーしてテーブルの背景として設定します。次に、テーブル内の画像の背景位置を動的に設定できるようにする必要があります。これにより、画像をドラッグしたときに静止しているように見えます。トリミング効果は、元の画像の不透明度を変更(下げる)することでアーカイブされます。セレクションなどを作成する必要はないことに注意してください。テーブルは最初に指定されたサイズで作成されます。これが完了したら、テーブルを画像上にドラッグして、トリミング効果を作成します。

これが私の問題です。jquery(.css)を使用して背景画像の位置を設定すると、上部の位置が変更されず、左側の位置が期待どおりに機能しません。

javascriptコードを見てみましょう:

<script type="text/javascript">

$(function() {
    $("#myTable").draggable({
        drag:function() {
            //$("#myTable").css("opacity", "0.6");
            var $img = $("img").clone();
            var $src = $img.attr('src');
            $("#myTable").css("background-image", 'url(' + $src + ')');
            $position = $("#myTable").position();

            $("#myTable").css({
                backgroundPosition: -parseInt($position.left) + -parseInt($position.top)});
        },
        stop:function() {
            //$("#myTable").css("opacity", "1.0");
            $("#div1").css("opacity", "0.6");
        }
    });
});

</script>

背景の位置は現在適切に設定されていませんが、現時点ではそれほど重要ではありません。一番上の位置も動的に変更する方法があることを願っています。後で計算について心配します。また、それが十分に明確であることを願っています。敬具、

アイリーン

4

3 に答える 3

5

background-position CSSプロパティは、スペース文字で区切って2つの引数を取ることができます。

$("#myTable").css("backgroundPosition", (-parseInt($position.left)).toString()
    + "px " + (-parseInt($position.top)).toString() + "px");
于 2010-11-22T10:43:40.573 に答える
1
backgroundPosition: -parseInt($position.left)+'px ' + -parseInt($position.top) + 'px'});

測定単位を指定してみてください

于 2010-11-22T10:38:58.963 に答える