我通过互联网搜索了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。感谢您的建议。 –