0

さて、これは私を悩ませています。私はたくさんのsvg(svg JQueryプラグイン)を含むWebページを持っています。ブラウザが特定のものに(水平に)集中する必要があったので、単純な関数を作成しました私の目的を達成するために:

function adjustWindowPos(svg){
    var left = svg.scrollLeft();
    $(document).scrollLeft(left);
}

ここで、svgオブジェクトは経由して取得する単なるオブジェクトです (これを行う前に描画してたわごとを行うため、レンダリングされます):

$("#someDivID").svg('get');

私は昨夜これをテストしましたが、すべてがうまくいきました.今朝私は仕事を始めました.

TypeError: svg.scrollLeft は関数ではありません

オブジェクトは言うまでもなくJQueryオブジェクトではなくSVGラッパーであるため、関数が見つからないことに気づきました...しかし、昨日は機能しました。それは私が得られないものです(多くのこと、今日はコーヒーがありません)。

4

1 に答える 1

0

探しているjQueryラッパーであるsvg DOM要素を含むjQueryオブジェクトを作成する必要があります。$jQuery 関数を使用して、いくつかの方法で実行できます。

  • それに jQuery セレクター文字列を渡し$('jquery selector')ます。
  • それにDOMオブジェクトを渡します。
  • jQuery オブジェクトがある場合は、既存の jQuery オブジェクトから取得します。

id-selector があるとします。

var svg = '#id_of_the_svg_element' 

function adjustWindowPos(svg){
    var $svg = $(svg);             // now this is the jQuery object
    var left = $svg.offset().left; // this is its horizontal position relative to the document
    $(document).scrollLeft(left);
}
于 2012-08-22T10:16:23.320 に答える