5

私は途方に暮れています。JQuery1.4.2とJCrop0.98を使用しています。それ以外はすべて正常に機能しますが、一度作成した選択範囲を移動することはできません。選択範囲の上にマウスを置いてクリックしても、何も起こりません。

JQueryライブラリ、JCropライブラリ、およびJCropcssファイルがすべて含まれています。他に多くの情報がない、かなりきれいなページです。自分のjavascriptとcssで、JCropを壊すような方法で誤って何かをオーバーライドしているかどうかはわかりませんが、両方がかなりあります。しかし、Firebugsは何も上げていません。

チュートリアルは、異なるバージョンのjqueryを使用していますが、私のブラウズとサーバーで正常に機能します。ただし、元々使用していたバージョンを使用しているバージョンに置き換えると、引き続き正常に機能します。だからそれは私のjavascriptやcssと関係があるはずです。

私はここで完全に途方に暮れています、私は問題がどこにあるかもしれないかについて私が考えることができるすべてを見ています、しかし私はどこを見るべきかさえ知りません。他の誰かがこれまでにこの問題に遭遇したことがありますか?問題は何で、どのように解決しましたか?エラーまたは不正なオーバーライドはどこで探す必要がありますか?

4

3 に答える 3

14

問題が解決しました:

* { margin: 0; padding: 0; position: relative; }

これposition: relative;は、JCropの絶対的なポジショニングの必要性を覆していました。一度削除すると、それは美しく機能しました。他のものにも必要でしたが、もっと正確に適用しました。

それを見つけるために私を永遠に連れて行きました、しかし私のjavascriptとcssの両方をそれらのデモファイルの1つに取り込んで、それぞれの部分が衝突していないかチェックしなければなりませんでした。お尻の痛み。

同様の問題が発生した場合は、同様のポジショニングの競合がないかどうかを確認してください。

于 2010-08-01T06:47:56.410 に答える
14

これが発生する可能性があるもう1つの理由は、cssを含めるのを忘れた場合です。

于 2012-10-11T16:05:24.147 に答える
0

私は、誰かがCSSのすべてのdivで相対的な位置を宣言したプロジェクトで問題に遭遇しました。残念ながら、それを修正するには多くの作業が必要だったので、修正を見つけるためにコードを少し掘り下げなければなりませんでした。

最新のjCropライブラリ(この投稿の時点ではJcrop-0.9.12)を使用すると、スクリプトに小さな変更が加えられ、問題が修正されました。

jquery.Jcrop.jsの行1122あたりで、次のようになります。

       if (Touch.support) {
            $track.bind('touchstart.jcrop', Touch.createDragger('move'));
        }

        $img_holder.append($track);
        disableHandles();

$ img_holder.append($ track)を$ hdl_holder.append($ track)に変更し、$ hdl_holderが絶対位置であることを確認することで、この問題を解決しました。相対的なポジショニングとzindexingの何かが、私にとってそれを殺していた。

私が行ったスクリプトへの2つの変更は次のとおりです。

350行目jquery.Jcrop.js:

$hdl_holder = $('<div />').width('100%').height('100%').css('zIndex', 320), 

変更:

$hdl_holder = $('<div />').width('100%').height('100%').css({
    zIndex: 320,
    position: 'absolute'
}),

行1122jquery.Jcrop.js:

$img_holder.append($track);

変更:

$hdl_holder.append($track);
于 2013-05-23T15:46:45.903 に答える