質問

水平スクロールサイトを作成しています。嫌いではない! MousemoveイベントをMousedownでバインドする場合を除き、すべてが正常に機能しているようです。 「移動」と「MouseUp」はどちらも適切な時間にコンソールに書き込まれています。ここに私のコードがあります...編集:また、$( '#container')を書くと、値の代わりに「function()」を返すコンソールにscrollleftが表示されます。

$(document).ready(function() {
    $('#container').mousedown(function(event) {
        $(this)
            .data('down',true)
            .data('x',event.pageX)
            .data('scrollLeft',this.scrollLeft)
            .css({'cursor':'url("http://www.loodieloodieloodie.com/images/closedhand.cur"),auto'});
        $('body').bind('mousemove',function(event) {
            console.log('moving');
            $('#container').scrollLeft = $('#container').data('scrollLeft') + ($('#container').data('x') - event.pageX) * 2;
        }).bind('mouseup',function() {
            $('#container')
                .data('down',false)
                .css({'cursor':'url("http://www.loodieloodieloodie.com/images/openhand.cur"),auto'});
            console.log('mouseup');
            $(this).unbind('mousemove');
        });
        return false;
    }).css({
        'overflow':'hidden',
        'cursor':'url("http://www.loodieloodieloodie.com/images/openhand.cur"),auto'
    });
});

そして、これが基本的なHTMLです...

<body>
    <div id="container">
        <div id="inner">
            CONTENT
        </div>
    </div>
</body>

助けてくれてありがとう、b

役に立ちましたか?

解決

ありません .scrollLeft 財産 jqueryオブジェクトでは、tisの代わりに:

$('#container').scrollLeft = $('#container').data('scrollLeft') + ($('#container').data('x') - event.pageX) * 2;

あなたには必要だ .scrollLeft() 働き このように電話してください:

$('#container').scrollLeft($('#container').data('scrollLeft') + ($('#container').data('x') - event.pageX) * 2);

またはa .css() このように電話してください:

$('#container').css({ scrollLeft: $('#container').data('scrollLeft') + ($('#container').data('x') - event.pageX) * 2 });
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top