1

Webkit ブラウザーでのみ正常に動作するこのアコーディオンを作成しました。Webkit 以外のブラウザーで何が壊れているのかわかりません。

http://jsfiddle.net/gurtfrobe/SMjxK/1/

粗雑なコードで申し訳ありませんが、私は Javascript に熱中しているわけではありません。

すべてのご意見をお待ちしております。

4

2 に答える 2

0

だから私はそれの一部を理解しました。Firefox、Opera、IE9でも動作するようになりました。

要素の位置をパーセンテージで取得できるのは、Webkitブラウザーのみです。Firefoxなどは値をピクセルに変換します。したがって、LEFT値がパーセンテージとして設定されていると仮定します。

var myvar = $('#myitem').css('left');

ChromeとSafariにパーセンテージ値を保存しますが、他のブラウザはそのパーセンテージをピクセル値に変換します。

これを回避するには、最初にLEFT値をインラインスタイルとして割り当ててから、jQueryが値を取得する方法を変更する必要があります。今では次のようになります。

var myitem = $('#myitem');
var myitemleft = myitem[0].style.left;

注意してください、おそらくそのコードの短縮版がありますが、私の知識はそれほど素晴らしいものではありません。

IE7&8で動作しない原因を誰かが知っている場合は、助けていただければ幸いです。私がそれを解決したら、ここで私の発見を共有します。

于 2012-07-17T12:34:18.207 に答える
0

最後のIE、FF、およびChromeの下でスクリプトによって友人と作成しました http://jsfiddle.net/quadrian/z94baosx/

于 2015-03-16T19:14:33.457 に答える