-1

「スライドフォワード」と「スライドバック」の 2 つの div ボタンがあります。彼らは私の div '.inner' の margin-left の値を制御する必要があります。ボタンの 1 つがクリックされるたびに、'inner' の現在の左マージンを 100% 減算または加算する必要があります。

「.inner」の現在の margin-left 値が -300% に設定されているとします。「slide-forward」をクリックすると、結果は margin-left -200% になります。次に、「slide-backward」をクリックすると、結果は margin-left -300% になります。ユーザーが「slide-backward」を再度クリックすると、結果は margin-left -400% になります。

したがって、基本的に、ボタンをクリックすると、div の margin-left が徐々に加算または減算されます。値が 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);
});
4

2 に答える 2