jQuery - If и еще If, если для marginLeft's
Мне было интересно, если вы могли бы помочь мне, я пытаюсь создать, если основанные взаимодействия на моем сайте, но, к сожалению, код не работает, и я не могу понять, почему. Идея состоит в том, чтобы нажать кнопку, чтобы переместить ее влево, а затем, когда другая кнопка нажимается в ее следующем заданном положении, она снова возвращается в нее.
if($("#featImgOne").css("marginLeft")=='0px'){
$('#featNext').click(function(){
$('#featImgOne').animate({marginLeft:"-960px"});
});
}
else if($("#featImgOne").css("marginLeft")=='-960px'){
$('#featPrev').click(function(){
$('#featImgOne').animate({marginLeft:"0px"});
});
}
Просто обратите внимание, что первый щелчок работает, но второй не так, поэтому я озадачен
Заранее спасибо, надеюсь, кто-то может помочь
3 ответа
Вы должны переместить консоли if в обработчик кликов
$('#featNext').click(function () {
if ($("#featImgOne").css("marginLeft") == 0) {
$('#featImgOne').animate({
marginLeft: "-960px"
});
}
});
$('#featPrev').click(function () {
if ($("#featImgOne").css("marginLeft") != 0) {
$('#featImgOne').animate({
marginLeft: "0px"
});
}
});
Вы собираетесь добавить какой-то цикл. Попробуйте некоторое время Loop.**while**//add a condition
То, что вы ожидаете, не произойдет, потому что второй click
событие никогда не добавляется, потому что в начале margin-left
это не то значение. Исправьте это, удалив условные выражения:
$('#featNext').click(function () {
if ($("#featImgOne").css("marginLeft") == 0) {
$('#featImgOne').animate({
marginLeft: "-960px"
});
}
});
$('#featPrev').click(function () {
if ($("#featImgOne").css("marginLeft") != 0) {
$('#featImgOne').animate({
marginLeft: "0px"
});
}
});