スムーススクロールでscrollToの箇所にamimate 中にユーザーがページを移動しようとするとガクガクするのでこまった。animateをキャンセルする方法はないものか?
マウスホイールイベント上書きすればいんじゃね?
jQuery入門講座:マウスホイール :
http://www.jquerystudy.info/plugins/small/wheel.html
jQueryでマウスホイールすると余韻が残るイージングスクロールをつくる | webOpixel : http://www.webopixel.net/javascript/435.html
ほうほうほう。
でもこれだとデフォルトのマウススクロールとの差異が気持ち悪い。
あと、animateが途中で終わっちゃうのでコールバック関数使ってたら関数もキャンセルされて立てたいフラグが立たない。
結局jquery.mousewheel.jsはよみこみつつマウスホイールイベントはキャンセルする方法で実装。
(ユーザの行動をキャンセルするのでコンテンツによってはユーザにストレスを感じさせるかもなるのでご注意を)
[html]
$(‘html’).on(‘mousewheel’,function(event, mov) {
if(isTraveling || isIntrol || isScrolling){return false;}
});
[/html]
コメントを残す