多くの調査の結果、州内へbinding
のscroll
イベントはサポートされていないことがわかりました。これは問題ありませんが、現在取り組んでいるスクリプトに関して 1 つまたは 2 つの質問があります。$(window)
live
HTML5 jQuery 履歴プラグイン (http://tkyk.github.com/jquery-history-plugin/) を利用してページをロードし、サイト内にオーディオ プレーヤーが固定されているため、滑らかなユーザー エクスペリエンスを提供する Web サイトがあります。
私のページの 1 つで、ウィンドウのスクロール時にアルバムにロードするための無限スクロールを作成しました。ページに直接アクセスすると問題なく動作しますが、HTML5 対応のリンク (HTML5 実装専用のリンクがいくつかあります) 経由でアクセスすると機能しません。
ここに私の無限スクロールコードがあります:
jQuery(function() {
var getMoreMedias, loading, mediaType, nearBottomofPage, page, pendingCall, genreType, url, did_scroll;
page = 1;
loading = false;
// did_scroll = false
mediaType = $('.breadcrumbs strong').attr('rel');
genreType = $('.breadcrumbs strong').data('genre-id')
nearBottomofPage = function() {
return $(window).scrollTop() > $(document).height() - $(window).height() - $('#footer').height();
};
getMoreMedias = function(page, mediaType) {
opts = {
lines: 12, //The number of lines to draw
length: 7, //The length of each line
width: 3, //The line thickness
radius: 10, //The radius of the inner circle
color: '#000', // #rgb or #rrggbb
speed: 1, //Rounds per second
trail: 60, // Afterglow percentage
shadow: true //Whether to render a shadow
};
var spinner = new Spinner(opts).spin()
$('#loadingMore').append(spinner.el)
url = '/top_medias/'
url += mediaType
if(genreType)
url += '/' + genreType
url += '?page=' + page
$.ajax({
cache: false,
url: url,
type: 'get',
dataType: 'script',
success: function(data) {
$('#loadingMore').html('');
loading = false
},
error: function() {
$('#loadingMore').html('<p>No more results could be found</p>')
loading = false
}
});
};
$(window).scroll(function(){
did_scroll = true
})
setInterval(function(){
if(did_scroll) {
if (loading) return;
if (nearBottomofPage()) {
loading = true;
page++;
getMoreMedias(page, mediaType)
did_scroll = false
}
}
}, 250)
});
ページがAjax経由でアクセスされた場合(これはHTML5プラグインが本質的に行うことです)、上記のものを取得して機能させる方法はありますか?