私はこれに「チェーンイン」(追加)と追加機能を試みています:
元のコード、それはScrollToプラグインをアクティブにします:
$('a.scroll').live('click',function(){
$.scrollTo(this.hash+"_", 3333, {easing:'easeOutCubic'} );
window.location.hash = this.hash;
return false;
});
私が欲しいのは、ページがスムーズスクロールしている間に、divオーバーレイをフェードインし、画面に数秒間留まってから、フェードアウトしてスムーズスクロールが終了する直前に自分自身を削除することです。
通常のページ読み込みで#preloaderと呼ばれるこのdivオーバーレイをすでに使用していますが、scrollToアクション中にも使用したいと思います。(これは、css3の「読み込み中」のアニメーションが含まれる固定オーバーレイdivです。)
これは、これまでに試したことの例です。これを「チェーン」してみてください。
$('a.scroll').live('click',function(){
$.scrollTo(this.hash+"_", 3333, {easing:'easeOutCubic'} );
$('#preloader').fadeIn(1234,function(){ // overlay div
$(this).delay(1234).remove();
});
window.location.hash = this.hash;
return false;
});
これでは何も起こりません。ScrollToは引き続き機能しますが、オーバーレイは表示されません。
これを正しい方法でチェーンするにはどうすればよいですか?フェードインする必要があり、設定された遅延の後、フェードアウトします。あなたの助けに感謝します私はjqueryでかなり役に立たないです。