1

わかりましたので、状況は次のとおりです。水平スクロールの div があります。構造は次のようになります。

<div class="extra-holder">
    <div class="extra-holder-inner">
        <ul>
            <li>Stuff here</li>
            <li>Stuff here</li>
            <li>Stuff here</li>
            <li>Stuff here</li>
        </ul>
    </div>
</div>

現在、コンテンツは ul 内で動的であるため、固定幅は出ていません。

私は素晴らしいjquery mousewheelプラグインを使用して、divスクロール内のスクロールを垂直ではなく水平にしますが、まったく問題なく動作します。

タッチスクリーンでスクロールしようとすると問題が発生し、まったくスクロールできません。

したがって、私の単純な解決策は、2 つのボタンだけを使用して、内側のコンテナー、extra-holder-inner、左/右をアニメーション化することでした。

そのようです:

$(document).ready(function() {
$('#scroll-r').click(function() {
  $('.extra-holder-inner').animate({

    left: '-=341' //animating by the width of the li's within the container
  }, 500, function() {
    // Animation complete.
  });
});
});

$(document).ready(function() {
$('#scroll-l').click(function() {
  $('.extra-holder-inner').animate({

    left: '+=341'
  }, 500, function() {
    // Animation complete.
  });
});
});

これに関する問題は実際には 2 つあります。コンテナをスクロールする代わりに左/右にアニメーション化することと、左側に他のアイテムがない場合にユーザーが左にアニメーション化できることです。これは役に立たない解決策です。

したがって、もっと複雑なことをする必要があるか、コンテナをアニメーション化する代わりに、これらのボタンを左右に 341 ピクセルずつスクロールさせる方法を見つける必要があります。

アイデア、考え?

4

0 に答える 0