コードをコピー
コードは次のとおりです: varchangeSlide = function(toSlide){ if(toSlide.length)
$.mobile.changePage(toSlide, {transition: toSlide.jqmData('transition') }
};
// ホームページに戻ります
var getHomeSlide = function(){
return $(':jqmData(role=page):first');
}; home
var goHome = function(){
changeSlide( getHomeSlide() );
return false;
}; 次のページに移動します
var getNextSlide = function( slide){
return slide.next(' :jqmData(role=page)');
}// 次のページに進みます
var goForward = function(){
changeSlide( getNextSlide($.mobile.activePage) );
return
}
//前のページを取得します
var getPrevSlide = function(slide){
return slide.prev (':jqmData(role=page)');
}
// 前のページにジャンプします
var goBack = function(){
changeSlide( getPrevSlide($.mobile.activePage) );
return false;
};
ページジャンプを実現するために $.mobile.changePage メソッドが使用され、ジャンプには
ジャンプ効果パラメータがあることに注意してください。例:
//スライドアップ トランジションで「about us」ページに遷移します
$.mobile.changePage( "about/us.html", {transition: "slideup"} ); ID が「search」のフォームからのデータを使用して、「検索結果」ページに遷移します。
$.mobile.changePage( "searchresults.php", {
type: "post",
data: $("form#search" ).serialize()
});
$(':jqmData(role=page):first'); の代わりに、jqmData は実際に
jquery のデータ セレクターを置き換えます。 。
4. もう 1 つは、
のような左右の矢印キーの処理です:
コードをコピー
コードは次のとおりです:
5. ナビゲーションバーの処理
各スライドが読み込まれると、ページのフッター部分にナビゲーションバーが自動的に読み込まれます。
これは前に読み込まれる必要があります。 'pagebeforecreate' ,
コードをコピー
コードは次のとおりです:
$(':jqmData(role=page)').live( 'pagebeforecreate',function(event){
var slide = $(this);
// Find footer
var footer = $(":jqmData(role=footer)", slide );
if( !footer.length ) {
//Add to the bottom of the page
footer = $('
').appendTo(slide);
};
// add nav. bar
footer .html('
'
'[list]'
'[*]
'
'[*]
'
'[*]
'
'[/list]'
'
');
// Process the click button of the previous and next pages
var backButton = $ (':jqmData(icon=back)', footer).click( goBack );
var homeButton = $(':jqmData(icon=home)', footer).click( goHome );
var forwardButton = $(':jqmData(icon=forward)', footer).click( goForward );
// Get before, after, homepage
var prevSlide = getPrevSlide( slide ), homeSlide = getHomeSlide(), nextSlide = getNextSlide( slide ) ;
// Whether the previous page exists, if so, set the clickable style
if( prevSlide.length ) {
backButton.attr('href', '#' prevSlide. attr('id') );
homeButton.attr('href', '#' homeSlide.attr('id') )
}else{
//Disable its button
backButton. addClass('ui-disabled');
homeButton.addClass('ui-disabled')
};
// Whether the next page exists
if( nextSlide.length ) {
forwardButton.attr('href', '#' nextSlide.attr('id') )
}else{
// Disable its button
forwardButton.addClass('ui-disabled')
};
//......
});
6. Load pictures according to the situation If there are many slides If so, you should not load all images, but load small images first, and you can determine which image to use based on the screen size, for example:
data-small="..."
data-large=" ..."/>
Determine how to use :
var loadImages = function(slide) {
var width = $(window).width();
//Judge the image size according to the screen size
var attrName = width > 480? 'large' : 'small';
$('img:jqmData(' attrName ')', slide).each(function(){
var img = $ (this);
var source = img.jqmData(attrName);
if(source) img.attr('src', source).jqmRemoveData(attrName);
});
} ;
See the entire operation effect:
http://moretechtips.googlecode.com/svn/mobile-presentation/index.htm