0

マウスカーソルを使用してulを水平にスクロールするにはどうすればよいですか? 基本的には、この画像ギャラリーの下部をエミュレートしたいと思います。オンラインで javascript メソッドを見つけましたが、それほどスムーズではありません。

4

2 に答える 2

2
<div>
    <ul>
        <li></li>
        ...
    </ul>
</div>  

そしてJavascript:

var $div = $('div');
var $ul = $('ul');

// width of div
var width = $div.width();

// width of ul - width of div
var ulWidth = $ul.width() - width;

$div
    .on('mouseenter', function(e) {
        // get left offset of div on page
        var divLeft = $div.offset().left;

        $(window).on('mousemove', function(e) {
            var left = e.pageX - divLeft;
            // get percent of width the mouse position is at
            var percent = left / width;

            // set margin-left on ul to achieve a 'scroll' effect
            $ul.css('margin-left', -(percent * ulWidth));
        });
    })
    .on('mouseleave', function() {
        // remove mousemove event
        $(window).off('mousemove');
    })
;​

http://jsfiddle.net/aarongloege/gQyz6/

基本的に、ビューポートの左からのマウス位置のパーセンテージ (私の例では div) に基づいて ul 要素を配置する必要があります。

于 2012-05-22T04:34:58.677 に答える
0

探しているものを正確に実行するこれら 2 つの既存の jQuery プラグインを確認してください。

1) http://manos.malihu.gr/jquery-thumbnail-scroller

2) http://www.convergent-evolution.co.uk/resources/jquery-plugins/scrolling-carousel/

于 2012-10-26T07:44:38.120 に答える