我通過互聯網搜索了3個多小時,沒有任何建議在我的代碼中工作。我試圖做的是每次點擊時將圖片一張一張地滑動到左側(總共3張圖片),當最後一張圖片在屏幕上時,請停止向左滑動並滑回第一張圖片。要做到這一點,我需要檢測第一張圖片的左邊距,當它碰到某個點(左邊180em)並將其與「ems」值(代碼如下)進行比較時。 「如果」陳述從不發射,它總是指向「其他」。我嘗試使用「$('#picture1')。offsetLeft」,「$('#picture1')。layerX」,「$('#')獲得第一張圖片的左邊界位置(或邊距)圖片1'),「左」,但他們都沒有工作。如何在javascript中獲取圖像的左邊緣爲ems
如果你可以指導我到另一個網站,另一個問題在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);
};
});
我會明天試試這兩個,並讓你知道。我更喜歡第二個想法,我可能會使用它很多其他的東西。非常感謝你! –
因此,我最終使用'.position()。left'來確定位置爲一個整數,並通過檢測瀏覽器的字體大小將其轉換爲ems。感謝您的建議。 –