コード例 #1
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			var initNews = function () {
				var nav = mex.shell.curNav,
				codeType = nav.data && nav.data.codeType || "xxyw",
				grid = $("#news_ul").datagrid({
						url : "http://61.129.42.57:9080/fudan/sid/newsService/vid/index",
						type : "POST",
						data : {
							codeType : codeType
						},
						linkUrl : "detail.html",
						dataType : "jsonp",
						error:function (state,error) {
							$('#news_error').html("state:"+state+"</br>Error:"+error);
							$('#news_pop').popup('open');

							mex.shell.hideLoading();
						}
					});
				
				self.grid = grid;
				
				self.grid.datagrid("refresh",{success : onDataLoaded});
				
				//listen to the navigation event from shell
				mex.shell.onNav(refNews);	
			};
コード例 #2
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			$('#detail_page').live('pageshow',function (e) {

				mex.shell.showLoading();

				var baseUrl = 'http://61.129.42.57:9080/fudan',
					url = baseUrl+'/sid/newsService/vid/newsDetail?idNews='+self.idNews+'&width='+$(window).width()+'&height='+$(window).height(),
					page = e.target;

				if(self.idNews){
					$.ajax({url:url,
						type:'GET',
						dataType:'jsonp',
						success:function (data) {

							mex.shell.hideLoading();

							var news = data.jsonp.data.data.news,
										imgs = data.jsonp.data.data.imgList,
										content = $('#detail_info');

							logger.logInfo('data:',data);	

							// $('#detail_inner').append("<div id='detail_pop' data-role='popup' data-corners='false'>"+
       //              			"<a href='#' data-rel='back' data-role='button' data-theme='a' data-icon='delete' "+
       //              			"data-iconpos='notext' class='ui-btn-left'>Close</a></div>");

							if(imgs&&imgs.length){
								var imgsContainer = $('<div></div>');

								for(var i=0;i<imgs.length;i++){
									var img = imgs[i],
										$img = $("<img style='float:right;clear:right;margin:2px;' "+
											"width=80 height=70 cs-baseUrl='"+baseUrl+"' cs-url='"+img.path+"' />");

									utility.loadImg($img[0],'css/images/default.png');

									imgsContainer.append($img);

									var url = baseUrl+img.path;

									showImg($img,url,img.width,img.height);
								}

								content.append(imgsContainer);
							}

							if(news){
								content.append(news.content);
							}

							self.scroller = new iScroll('detail_content');
						}});
				}

				$('#detail_pop').bind({
					popupafterclose:function (e,ui) {
						$(this).find('img').remove();
					}
				});
			});
コード例 #3
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			var onDataLoaded = function () {
				mex.shell.hideLoading();

				//self.scroller = new iScroll('news_content');
				if (self.scroller) {
					self.scroller.refresh();
				} else {
					createScroller();
				}

				self.scroller.scrollTo(0,self.topOffset,0,null);
			}
コード例 #4
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			$("#news_page").live("pageshow", function (event) {
				if(self.grid)
					return;
				
				mex.shell.showLoading();

				//because the device ready is later than the pageshow,so we get data until the device is ready
				mex.device.ready(initNews);

				mex.device.simulateReady();

			});
コード例 #5
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			var addNavs = function () {
				mex.shell.addNavs(
					[{
							id : "hotNews",
							title : "学校要闻",
							icon : "grid",
							url : 'index.html',
							data : {
								codeType : "xxyw"
							}
						}, {
							id : "syntheticalNews",
							title : "综合要闻",
							icon : "grid",
							url : 'index.html',
							data : {
								codeType : "zhxw"
							}
						}, {
							id : "mediaNews",
							title : "媒体视角",
							icon : "grid",
							url : 'index.html',
							data : {
								codeType : "mtsj"
							}
							
						}, {
							id : "alumni",
							title : "校友动态",
							icon : "grid",
							url : 'index.html',
							data : {
								codeType : "xydt"
							}
						}
					]);
				mex.shell.activeNav(0);
			};
コード例 #6
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
				prepare = function () {
					//prepare from page
					if(!none && $from){

						//if the direction is reverse then start animation after from page initialization
						if(reverse){
							transitionComplete($from,already);
						}

						$from.css('-webkit-transform',createTransform('0%'));	
						$from.css('-webkit-transition','-webkit-transform 250ms linear');
					}

					//prepare to page
					$to.css( "z-index", -10 );
					$to.height(mex.shell.getContentHeight());
					$to.addClass( $.mobile.activePageClass);
					$.mobile.focusPage( $to );

					if(!none && $from){

						if(!reverse){
							var oldValue = $to[0].style.webkitTransform,
								tValue = createTransform('100%');
							//due to none of clearing the tranform style if the $to page is the
							//$from page of last time transition,here need to check if the transform 
							//is already ,if it is ,then excutes immediately. 
							if(oldValue == tValue){
								already();
							}else{

								//if the direction is not revrese,then start the animation after the to page initialization
								transitionComplete($to,already);
								$to.css('-webkit-transform',tValue);
							}
						}
						else{
							$to.css('-webkit-transform',createTransform('-100%'));
						}

						$to.css('-webkit-transition','-webkit-transform 250ms linear');
					}
					else{
						startOut();

						startIn();
					}
						
				},	
コード例 #7
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			var refNews = function (options) {
				var grid = $("#news_ul").data("datagrid");

				if (grid) {
					grid.reset();
					grid.option({
						data : options.data,
						caching : false
					});

					mex.shell.showLoading();

					grid.refresh({success : function () {
						onDataLoaded();

						self.scroller.scrollTo(0,self.topOffset,0,null);
						}});
				}
			};
コード例 #8
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
						success:function (data) {

							mex.shell.hideLoading();

							var news = data.jsonp.data.data.news,
										imgs = data.jsonp.data.data.imgList,
										content = $('#detail_info');

							logger.logInfo('data:',data);	

							// $('#detail_inner').append("<div id='detail_pop' data-role='popup' data-corners='false'>"+
       //              			"<a href='#' data-rel='back' data-role='button' data-theme='a' data-icon='delete' "+
       //              			"data-iconpos='notext' class='ui-btn-left'>Close</a></div>");

							if(imgs&&imgs.length){
								var imgsContainer = $('<div></div>');

								for(var i=0;i<imgs.length;i++){
									var img = imgs[i],
										$img = $("<img style='float:right;clear:right;margin:2px;' "+
											"width=80 height=70 cs-baseUrl='"+baseUrl+"' cs-url='"+img.path+"' />");

									utility.loadImg($img[0],'css/images/default.png');

									imgsContainer.append($img);

									var url = baseUrl+img.path;

									showImg($img,url,img.width,img.height);
								}

								content.append(imgsContainer);
							}

							if(news){
								content.append(news.content);
							}

							self.scroller = new iScroll('detail_content');
						}});
コード例 #9
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
				prepare = function () {
					//prepare from page
					if(!none && $from){

						//if the direction is reverse then start animation after from page initialization
						if(reverse){
							transitionComplete($from,already);
						}

						$from.css('-webkit-transform','translate'+translateOpen+'0%,0%'+translateClose);	
						$from.css('-webkit-transition','-webkit-transform 250ms ease-out');
					}

					//prepare to page
					$to.addClass( $.mobile.activePageClass);
					$.mobile.focusPage( $to );

					if(!none && $from){
						$to.height(mex.shell.getContentHeight());
						$to.css('opacity',0);

						if(!reverse){
							//if the direction is not revrese,then start the animation after the to page initialization
							transitionComplete($to,already);
							$to.css('-webkit-transform','translate'+translateOpen+'100%,0%'+translateClose);
						}
						else
							$to.css('-webkit-transform','translate'+translateOpen+'-100%,0%'+translateClose);

							$to.css('-webkit-transition','-webkit-transform 250ms ease-out');
						}
						else{
							startOut();

							startIn();
						}
						
					},	
コード例 #10
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
						success:function (data) {

									mex.shell.hideLoading();

									var news = data.jsonp.data.data.news,
										imgs = data.jsonp.data.data.imgList,
										content = $('#detail_info');

									logger.logInfo('data:',data);	

									if(imgs&&imgs.length){
										var imgsContainer = $('<div></div>');

										for(var i=0;i<imgs.length;i++){
											var img = imgs[i],
												$img = $("<img style='float:right;clear:right;margin:2px;' "+
											"width=80 height=70 cs-baseUrl='"+baseUrl+"' cs-url='"+img.path+"' />");

											utility.loadImg($img[0],'css/images/default.png');

											imgsContainer.append($img);

											var url = baseUrl+img.path;

											showImg($img,url,img.width,img.height);
										}

										content.append(imgsContainer);
									}

									if(news){
										content.append(news.content);
									}

									self.scroller = new iScroll('detail_content');
						}});
コード例 #11
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			$("#news_page").live("pageremove", function (event) {
				self.scroller.destroy();
				self.scroller = null;
				
				mex.shell.unNav(refNews);
			});
コード例 #12
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
			$('#news_page').live('pagebeforecreate',function e() {
				if (!mex.shell.hasNav()) addNavs();
			});
コード例 #13
0
ファイル: init.js プロジェクト: yangyraaron/nestedpage-sample
						error:function (state,error) {
							$('#news_error').html("state:"+state+"</br>Error:"+error);
							$('#news_pop').popup('open');

							mex.shell.hideLoading();
						}