我创建了一个名为VoteSlide的函数。当我点击按钮.prev
和.next
时,它会执行该功能。但正如您所看到的,该功能对两个按钮的反应相同。所以我希望函数在按下不同的按钮时做出不同的反应。一个函数应该有margin-left -100%
而另一个函数应该有margin-left: 100%
但是我如何创造那么小的差异呢?我在考虑使用if / else语句。但是我还没有习惯在这种情况下弄清楚如何应用它(或者如果它是解决这个问题的正确方法)。
function VoteSlide() {
var prev = this;
$(prev).find(".output").html(function(i, val){return val*1+1});
$(prev).removeClass("prev")
$("body").find(".art").each(function(){
$(this).prepend('<img src="http://no-illusions.nl/random/demo1/assets/images/' + images[index] + '">');
if(index < images.length+0 ){
index++;
}
else{
$("#nav" ).fadeOut();
};
});
$(this).closest('body').find(".art img:last").stop().animate
({'margin-left': '-100%',}, 500,
function(){
$(this).remove();
$(prev).addClass("prev");
}
);
}
$('#nav').delegate('.prev', 'click', VoteSlide);
$('#nav').delegate('.next', 'click', VoteSlide);
答案 0 :(得分:2)
您可以使用if语句检查所单击按钮的类,以确定它是prev
还是next
按钮。尝试将它放在VoteSlide
函数的最顶部:
if($(this).hasClass('prev')) {
var margin = '-100%';
} else {
var margin = '100%';
}
然后在这里使用保证金变量:
$(this).closest('body').find(".art img:last").stop().animate(
{'margin-left': margin},
500,
function(){
$(this).remove();
$(prev).addClass("prev");
}
);