root/galaxy-central/static/scripts/packed/jqtouch.js @ 2

リビジョン 2, 6.0 KB (コミッタ: hatakeyama, 14 年 前)

import galaxy-central

行番号 
1(function(g){var h=null;var j=null;var e=location.hash;var d="#";var b=0;var a=[];var f=[];var c=0;var i;g.fn.jQTouch=function(k){var o={fullScreen:true,slideInSelector:"ul li a",backSelector:".back",flipSelector:".flip",slideUpSelector:".slideup",statusBar:"default",icon:null,iconIsGlossy:false,fixedViewport:true};var m=g.extend({},o,k);var l=g("head");if(m.backSelector){g(m.backSelector).live("click",function(){history.back();return false})}if(m.icon){var n=(m.iconIsGlossy)?"":"-precomposed";l.append('<link rel="apple-touch-icon'+n+'" href="'+m.icon+'" />')}if(m.fixedViewport){l.append('<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"/>')}if(m.fullScreen){l.append('<meta name="apple-mobile-web-app-capable" content="yes" />');if(m.statusBar){l.append('<meta name="apple-mobile-web-app-status-bar-style" content="'+m.statusBar+'" />')}}var p=[];if(m.slideInSelector){p.push(m.slideInSelector)}if(m.flipSelector){p.push(m.flipSelector)}if(m.slideUpSelector){p.push(m.slideUpSelector)}if(p.length>0){g(p.join(", ")).live("click",function(){var q=g(this);var s=q.attr("hash");var t="slideInOut";if(g(this).is(m.flipSelector)){t="flip"}if(g(this).is(m.slideUpSelector)){t="slideUp"}if(s&&s!="#"){q.attr("selected","true");g.fn.jQTouch.showPage(g(s),t);setTimeout(g.fn.unselect,350,g(this))}else{if(q.attr("href")!="#"){q.attr("selected","progress");try{g.fn.jQTouch.showPageByHref(g(this).attr("href"),null,null,null,t,function(){setTimeout(g.fn.unselect,350,q)})}catch(r){console.log(r)}}}return false});g(function(){var q=g.fn.jQTouch.getSelectedPage();if(q){g.fn.jQTouch.showPage(q)}g.fn.jQTouch.startCheck()})}};g.fn.ianimate=function(l,o,n){if(o===0){this.css(l);window.setTimeout(n,0)}else{var m=[];for(var k in l){m.push(k)}this.css({webkitTransitionProperty:m.join(", "),webkitTransitionDuration:o+"ms",webkitTransitionTimingFunction:"ease-in-out"});window.setTimeout(function(p,q){p.css(q)},0,this,l);window.setTimeout(n,o)}return this};g.fn.jQTouch.checkOrientAndLocation=function(){if(window.innerWidth!=b){b=window.innerWidth;currentHeight=window.innerHeight;var k=b<currentHeight?"profile":"landscape";document.body.setAttribute("orient",k);setTimeout(scrollTo,100,0,1)}if(location.hash!=e){g.fn.jQTouch.showPageById(location.hash)}};g.fn.jQTouch.getSelectedPage=function(){return g("body > *[selected!=false]").slice(0,1)};g.fn.jQTouch.showPage=function(l,n,k){if(l){if(j){j.attr("selected",null);j=null}var m=h;h=l;if(m){g.fn.jQTouch.animatePages(m,l,n,k)}else{g.fn.jQTouch.updatePage(l,m,n)}}};g.fn.jQTouch.showPageById=function(o){var n=g(o);if(n){var p;var l=a.indexOf(e);var m=a.indexOf(o);var k=m!=-1;if(k){p=f[l].transition;a.splice(m,a.length);f.splice(m,f.length)}g.fn.jQTouch.showPage(n,p,k)}};g.fn.jQTouch.insertPages=function(k,m){var l;k.each(function(n,o){if(!g(this).attr("id")){g(this).attr("id",(++c))}g(this).appendTo(g("body"));if(g(this).attr("selected")=="true"||(!l&&!g(this).hasClass("btn"))){l=g(this)}});if(l){g.fn.jQTouch.showPage(l,m)}};g.fn.jQTouch.showPageByHref=function(l,n,p,m,o,k){g.ajax({url:l,data:n,type:p||"GET",success:function(q,r){g('a[selected="progress"]').attr("selected","true");if(m){g(m).replaceWith(q)}else{g.fn.jQTouch.insertPages(g(q))}if(k){k(true)}},error:function(q){if(k){k(false)}}})};g.fn.jQTouch.submitForm=function(){g.fn.jQTouch.showPageByHref(g(this).attr("action")||"POST",g(this).serialize(),g(this).attr("method"));return false};g.fn.showForm=function(){return this.each(function(){g(this).submit(g.fn.jQTouch.submitForm)})};g.fn.jQTouch.animatePages=function(m,l,n,k){clearInterval(i);if(n=="flip"){l.flip({backwards:k});m.flip({backwards:k})}else{if(n=="slideUp"){if(k){l.attr("selected",true);m.slideUpDown({backwards:k})}else{l.slideUpDown({backwards:k})}}else{l.slideInOut({backwards:k});m.slideInOut({backwards:k})}}setTimeout(function(){m.attr("selected","false");g.fn.jQTouch.updatePage(l,m,n);g.fn.jQTouch.startCheck()},500)};g.fn.jQTouch.startCheck=function(){i=setInterval(g.fn.jQTouch.checkOrientAndLocation,350)};g.fn.jQTouch.updatePage=function(k,l,m){if(k){if(!k.attr("id")){k.attr("id",(++c))}location.replace(d+k.attr("id"));e=location.hash;a.push(e);f.push({page:k,transition:m});if(k.attr("localName")=="form"&&!k.attr("target")){k.showForm()}}};g.fn.unselect=function(k){k.attr("selected",false)};g.preloadImages=function(l){for(var k=l.length-1;k>=0;k--){(new Image()).src=l[k]}};g.fn.flip=function(k){this.each(function(){var n={direction:"toggle",backwards:false};var m=g.extend({},n,k);var l=((m.direction=="toggle"&&g(this).attr("selected")=="true")||m.direction=="out")?1:-1;if(l==-1){g(this).attr("selected","true")}g(this).parent().css({webkitPerspective:"2000"});g(this).css({"-webkit-backface-visibility":"hidden","-webkit-transform":"rotateY("+((l==1)?"0":(!m.backwards?"-":"")+"180")+"deg)"}).ianimate({"-webkit-transform":"rotateY("+((l==1)?(m.backwards?"-":"")+"180":"0")+"deg)"},350)})};g.fn.slideInOut=function(k){var m={direction:"toggle",backwards:false};var l=g.extend({},m,k);this.each(function(){var n=((l.direction=="toggle"&&g(this).attr("selected")=="true")||l.direction=="out")?1:-1;if(n==-1){g(this).attr("selected","true").css({"-webkit-transform":"translateX("+(l.backwards?-1:1)*b+"px)"}).ianimate({"-webkit-transform":"translateX(0px)"},350).find("h1, .button").css("opacity",0).ianimate({opacity:1},100)}else{g(this).ianimate({"-webkit-transform":"translateX("+((l.backwards?1:-1)*n*b)+"px)"},350).find("h1, .button").ianimate({opacity:0},100)}})};g.fn.slideUpDown=function(k){var m={direction:"toggle",backwards:false};var l=g.extend({},m,k);this.each(function(){var n=((l.direction=="toggle"&&g(this).attr("selected")=="true")||l.direction=="out")?1:-1;if(n==-1){g(this).attr("selected","true").css({"-webkit-transform":"translateY("+(l.backwards?-1:1)*currentHeight+"px)"}).ianimate({"-webkit-transform":"translateY(0px)"},350).find("h1, .button").css("opacity",0).ianimate({opacity:1},100)}else{g(this).ianimate({"-webkit-transform":"translateY("+currentHeight+"px)"},350).find("h1, .button").ianimate({opacity:0},100)}})}})(jQuery);
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。