ブラウザー ウィンドウ幅の 200% の「コンテナー」div があるサイトがあり、オーバーフローが非表示になっています。一部の情報はコンテナーの左半分 (最初の 100%) にあり、一部の情報は右半分 (2 番目の 100%) にあります。次のように、単純なアイコンの切り替えを使用して、コンテナの両方の半分の間を前後にスライドします。
$('.container').animate({'marginLeft':'-=100%'}, 'slow');
--または--
$('.container').animate({'marginLeft':'+=100%'}, 'slow');
問題は、コンテナーの marginLeft に基づいて特定のイベントを実行する必要があることです。
前半が表示されると、必要なイベントを取得するのに問題はありません。しかし、jqueryがコンテナを左に100%スライドさせて後半を見えるようにすると、何も動作しません。
何時間もの調査の後、私は使用できないことを知りました
if ($('.container').css('marginLeft') == '-100%') {
//do something here
アラートは marginLeft をパーセンテージで示すことはないため、常に正確なピクセル単位で数値を返します。
私の結論は、「if」ステートメントで簡単な計算が必要だということですが、書き方がわかりません。
書かれた英語では、次のようになります。
「ピクセル単位の marginLeft をウィンドウの幅 (ピクセル単位) で割った値が -1 に等しい場合は、何かしてください...」
この非常に初歩的な jquery 計算を作成し、if ステートメントに適用する方法を教えてください。
どんな援助でも大歓迎です。
明けましておめでとうございます、デビッド。