これをインターネットで 3 時間以上検索しましたが、私のコードではどの提案も機能しません。私がやろうとしているのは、クリックするたびに写真を1つずつ左にスライドさせ(合計3枚の写真)、最後の写真が画面に表示されたら左にスライドして最初の写真に戻ることです。そのためには、最初の画像が特定の場所 (左に 180em) に達したときに左マージンを検出し、それを「ems」値 (コードは以下) と比較する必要があります。「if」ステートメントは決して発砲せず、常に「else」に向けます。
「$('#picture1').offsetLeft」、「$('#picture1').layerX」、「$('#picture1'.左」もありましたが、どれも機能しませんでした。
別の Web サイト、Stackoverflow の別の質問、または解決策を教えていただければ幸いです。
注:コードに誤りがある場合、または質問が私を修正する場合、私はjavascriptを非常に新しく使用しています。ありがとうございました。
var position = parseInt(jQuery("#picture1").css("margin-left"));
var left_border = '180ems';
$(function() {
$(".button").click(function() {
if (position > 180ems) {
$("#picture1").animate({
left: '-=60em'
}, 600);
$("#picture2").animate({
left: '-=60em'
}, 600);
$("#picture3").animate({
left: '-=60em'
}, 600);
}
else {
$("#picture1").animate({
left: '+=180em'
}, 600);
$("picture2").animate({
left: '+=120em'
}, 600);
$("#picture3").animate({
left: '+=60em'
}, 600);
};
});