我有两个 div 按钮,“向前滑动”和“向后滑动”。他们需要控制我的 div '.inner' 上的 margin-left 值。每次单击其中一个按钮时,都需要在 'inner' 的当前 margin-left 上减去或增加 100%。
假设 '.inner' 的当前 margin-left 值设置为 -300%。单击“向前滑动”时,结果将是左边距 -200%。然后单击“向后滑动”,结果将是左边距 -300%。如果用户再次点击'slide-backward',结果将是margin-left -400%。
所以本质上,在点击我的按钮时,我的 div 的左边距会逐渐增加或减少。该值以 % 而不是 px 为单位至关重要。
如果这很难理解,我深表歉意。这有点难以解释。如果你不明白我想要做什么,请说出来,我会进一步分解。
我的代码(不太好用):
$('.slide-back').data('marginLeft', '0').on('click',function(){
var $inner = $('.inner'),
curMarg = $(this).data('marginLeft') + 100;
$inner.css({marginLeft:curMarg+'%'});
$(this).data('marginLeft',curMarg);
});
$('.slide-forward').data('marginLeft', '0').on('click',function(){
var $inner = $('.inner'),
curMarg = $(this).data('marginLeft') - 100;
$inner.css({marginLeft:curMarg+'%'});
$(this).data('marginLeft',curMarg);
});