Turtle Online 阅读(ing...
日历

日期范围限定在昨天到明天

-

更多皮肤

参考代码
            Turtle.laydate({
		                elem: '#txtShowCalendarSelf', //需显示日期的元素选择器
		                event: 'click', //触发事件
		                format: 'YYYY-MM-DD hh:mm:ss', //日期格式
		                istime: false, //是否开启时间选择,即可选几点几分几秒
		                isclear: true, //是否显示清空按钮
		                istoday: true, //是否显示今天按钮
		                issure: true, //是否显示确认按钮
		                festival: true, //是否显示节日,国庆、元旦、清明等阳历节日
		                init: false,//是否在elem中显示当前时间,默认为false
		                min: '1900-01-01 00:00:00', //最小日期,可选的最小日期
		                max: '2099-12-31 23:59:59', //最大日期,可选的最大日期
		                start: '2014-6-15 23:00:00',    //如果init==false,把start设置为开始日期,如果init==true时,该值无效。即如果elem有值,该值无效
		                fixed: false, //是否固定在可视区域
		                zIndex: 99999999, //css z-index
		                choose: function(dates){ //选择好日期的回调,dates是选择日期的字符串,如“2016-09-21 12:57:27”
					                }
					            });
更多API

					一、核心方法:laydate(options);
			                    options是一个对象,它包含了以下key: '默认值'
			                    {
			                      elem: '#id', //需显示日期的元素选择器
			                      event: 'click', //触发事件
			                      format: 'YYYY-MM-DD hh:mm:ss', //日期格式
			                      istime: false, //是否开启时间选择
			                      isclear: true, //是否显示清空
			                      istoday: true, //是否显示今天
			                      issure: true, 是否显示确认
			                      festival: true //是否显示节日
			                      min: '1900-01-01 00:00:00', //最小日期
			                      max: '2099-12-31 23:59:59', //最大日期
			                      start: '2014-6-15 23:00:00',  //开始日期
			                      fixed: false, //是否固定在可视区域
			                      zIndex: 99999999, //css z-index
			                      choose: function(dates){ //选择好日期的回调
								                     
			                      }
			                    }
			        	二、其它方法/属性
			                    laydate.v   //获取laydate版本号
			                    laydate.skin(lib);  //加载皮肤,参数lib为皮肤名 
			                    /*
			                      layer.now支持多类型参数。timestamp可以是前后若干天,也可以是一个时间戳。format为日期格式,为空时则采用默认的“-”分割。
			                      如laydate.now(-2)将返回前天,laydate.now(3999634079890)将返回2096-09-28
			                    */
			                    layer.now(timestamp, format);   //该方法提供了丰富的功能,推荐灵活使用。
			                    laydate.reset();  //重设日历控件坐标,一般用于页面dom结构改变时。无参
			               
气泡弹层提示
鼠标悬停提示,黄色(默认) 鼠标悬停提示,黄色简单模式 鼠标悬停提示,紫色 鼠标悬停提示,twitter颤抖 鼠标悬停提示,天蓝 鼠标悬停提示,绿色 鼠标悬停提示,深灰色
上面 右边 下边 左边

提示跟随鼠标

没有动画

内容包含html

提示动态修改


来自Layer弹框
上面 右边 下边 左边
参考代码
		$('#showPoshySelf3').poshytip({
				            content: '你好:<p style="margin:2px 10px;">Alec Yin</p>敬礼!',
				            showTimeout:1,
				            hideTimeout:1
				        });
					
更多API

					$.fn.poshytip.defaults = {   
					    // 提示内容默认为元素的标题,可以使指定的字符串、元素、回调函数、jquery对象   
					    content:'[title]', 
					    // 指定的tips class样式   
					    className:'tip-yellow',   
					    //按照像素计算背景图片和显示内容的内边距   
					    bgImageFrameSize:10,   
					    showTimeout:500,// 延时多久开始显示   
					    hideTimeout:100,// 延时多久开始隐藏   
					    timeOnScreen:0,// 自动隐藏之前延时多久   
					    //显示方式 支持'hover'鼠标划入、'focus' 获取焦点、'none'手动显式调用  
					    showOn:'hover',   
					    liveEvents:false,// 支持live  事件  同样可以对未来元素进行影响  
					    alignTo:'cursor',// 和谁进行对齐 ('cursor' 鼠标, 'target' 目标元素)   
					    // 水平方向对齐方式 可选参数:   
					    //('right', 'center', 'left', 'inner-left', 'inner-right')   
					    alignX:'right',   
					    // 垂直方向对齐方式 可选参数:   
					    //('bottom', 'center', 'top', 'inner-bottom', 'inner-top')   
					    alignY:'top',   
					    offsetX:-22,// 水平偏移量   
					    offsetY:18,// 垂直方向偏移量   
					    //hover显示方式下,允许鼠标离开元素仍然显示提示信息   
					    allowTipHover:true,   
					    // 提示信息随着鼠标移动  只在满足hover显示方式下,对齐方式为alignTo:'cursor' 才有效  
					    followCursor:false,   
					    fade:true,// 使用动画   
					    slide:true,// 使用slie效果   
					    slideOffset:8,// slide 动画的偏移量   
					    // 动画显示的时间间隔 如果不想动画效果,设置为0即可   
					    showAniDuration:300,   
					    // 动画隐藏的时间间隔 如果不想动画效果,设置为0即可   
					    hideAniDuration:300   
					}; 
					核心方法:
					    .poshytip('show')    手动显示tip   
					    .poshytip('hide')    手动隐藏tip   
					    .poshytip('update', content, [ dontOverwriteOption ] )  手动更新tip   
					    .poshytip('disable')  tip不可用   
					    .poshytip('enable')   tip可用   
					    .poshytip('destroy')  销毁tip 
弹出层
消息提示,默认 消息提示,有背景,4秒关闭,点击背景关闭,有关闭按钮 消息提示,弹窗不固定,随窗口滚动而滚动 消息提示,不允许浏览器滚动
7种动画效果
8种提示类型
拖动行为
询问框
自定义弹出层
加载中动画
输入型弹框
弹出Tab
示例代码
		$('#showMsg').click(function(){
				            Turtle.layer.msg('Hello layer');
				        });
				        $('#showMsg2').click(function(){
				            Turtle.layer.msg('Hello layer',{shade:0.5,shadeClose:true,time:4000,closeBtn:1});
				        });
				        $('#showMsg3').click(function(){Turtle.layer.msg('Hello layer',{shade:0.5,fix:false});});
				        $('#showMsg4').click(function(){Turtle.layer.msg('Hello layer',{shade:0.5,scrollbar:false});});
				        // 7种动画效果
				        $('#showMsgShift0').click(function(){Turtle.layer.msg('Hello layer',{shift:0});});
				        $('#showMsgShift1').click(function(){Turtle.layer.msg('Hello layer',{shift:1});});
				        $('#showMsgShift2').click(function(){Turtle.layer.msg('Hello layer',{shift:2});});
				        $('#showMsgShift3').click(function(){Turtle.layer.msg('Hello layer',{shift:3});});
				        $('#showMsgShift4').click(function(){Turtle.layer.msg('Hello layer',{shift:4});});
				        $('#showMsgShift5').click(function(){Turtle.layer.msg('Hello layer',{shift:5});});
				        $('#showMsgShift6').click(function(){Turtle.layer.msg('Hello layer',{shift:6});});
				        // 8种提示类型
				        $('#showAlert').click(function(){Turtle.layer.alert('Hello layer');});
				        $('#showAlert0').click(function(){Turtle.layer.alert('Hello layer',{icon: 0,});});
				        $('#showAlert1').click(function(){Turtle.layer.alert('Hello layer',{icon: 1,});});
				        $('#showAlert2').click(function(){Turtle.layer.alert('Hello layer',{icon: 2,});});
				        $('#showAlert3').click(function(){Turtle.layer.alert('Hello layer',{icon: 3,});});
				        $('#showAlert4').click(function(){Turtle.layer.alert('Hello layer',{icon: 4,});});
				        $('#showAlert5').click(function(){Turtle.layer.alert('Hello layer',{icon: 5,});});
				        $('#showAlert6').click(function(){Turtle.layer.alert('Hello layer',{icon: 6,});});
				        // 拖动行为
				        $('#showAlert7').click(function(){Turtle.layer.alert('Hello layer',{move: false});});
				        $('#showAlert8').click(function(){Turtle.layer.alert('Hello layer',{move: '.ttl-layer-content'});});
				        $('#showAlert9').click(function(){Turtle.layer.alert('Hello layer',{moveType: 0});});
				        $('#showAlert10').click(function(){Turtle.layer.alert('Hello layer',{moveType: 1});});
				        $('#showAlert11').click(function(){Turtle.layer.alert('Hello layer',{moveOut: false});});
				        $('#showAlert12').click(function(){Turtle.layer.alert('Hello layer',{moveOut: true});});
				        $('#showAlert13').click(function(){Turtle.layer.alert('Hello layer',{moveEnd: function(){
				            alert('拖动结束')
				        }});});
				        // 询问框
				        $('#showConfirm').click(function(){
				            Turtle.layer.confirm('你好吗?');
				        });
				        $('#showConfirm2').click(function(){
				            Turtle.layer.confirm('你好吗?',{icon:3,title:'提示'},function(index){
				                Turtle.layer.close(index);
				            });
				        });
				        $('#showConfirm3').click(function(){
				            Turtle.layer.confirm('你好吗?', {
				                btn: ['好', '凑活', '不好'],
				                btn1: function(index) {
				                    Turtle.layer.alert('你很好!')
				                    Turtle.layer.close(index);
				                },
				                btn2: function(index) {
				                    Turtle.layer.alert('凑活就行!');
				                    Turtle.layer.close(index);
				                },
				                btn3: function(index) {
				                    Turtle.layer.alert('瞎愁啥!');
				                    Turtle.layer.close(index);
				                }
				            });
				        });

				        //自定义弹出层
				        $('#showSelfCeng').click(function() {
				            Turtle.layer.open({
				                type: 1,
				                area: ['600px', '360px'],
				                shadeClose: true, //点击遮罩关闭
				                content: '\<\div style="padding:20px;">自定义内容,点击遮罩关闭\<\/div>'
				            });
				        });
				        $('#showSelfCeng2').click(function() {
				            Turtle.layer.open({
				                type: 1,
				                maxmin:true,
				                area: ['600px', '360px'],
				                shadeClose: true, //点击遮罩关闭
				                content: '\<\div style="padding:20px;">自定义内容,点击遮罩关闭\<\/div>'
				            });
				        });
				        //弹出一个iframe层
				        $('#showIframe').on('click', function() {
				            Turtle.layer.open({
				                type: 2,
				                title: 'iframe父子操作',
				                maxmin: true,
				                shadeClose: true, //点击遮罩关闭层
				                area: ['500px', '320px'],
				                content: 'pageForLayerpop.html'
				            });
				        });
				        //加载中动画Loading
				        $('#showLoadingPop').on('click', function() {
				            var ii = Turtle.layer.load(0,{shade:0.3});
				            setTimeout(function() {
				                Turtle.layer.close(ii);
				            }, 1000);
				        });
				        $('#showLoadingPop1').on('click', function() {
				            var ii1 = Turtle.layer.load(1,{shade:0.5});
				            setTimeout(function() {
				                Turtle.layer.close(ii1);
				            }, 1000);
				        });
				        $('#showLoadingPop2').on('click', function() {
				            var ii2 = Turtle.layer.load(2,{shade:0.5});
				            setTimeout(function() {
				                Turtle.layer.close(ii2);
				            }, 1000);
				        });
				        $('#showLoadingPop3').on('click', function() {
				            Turtle.layer.msg('加载中...', {shade:0.5,icon: 16});
				        });        
				          // 输入型弹框
				          $('#showPrompt').click(function(){
				              Turtle.layer.prompt({
				                  title:'请输入姓名,并确认',
				                  formType:0,
				              },function(name){
				                   Turtle.layer.msg('你好,'+name);
				              })
				          });
				          $('#showPrompt2').click(function(){
				              Turtle.layer.prompt({
				                  title:'请输入密码,并确认',
				                  formType:1,
				              },function(pwd){
				                   Turtle.layer.msg('口令为:'+pwd);
				              })
				          });
				          $('#showPrompt3').click(function(){
				              Turtle.layer.prompt({
				                  title:'请输入自我介绍,并确认',
				                  formType:2,
				              },function(txt){
				                   Turtle.layer.msg(txt);
				              })
				          });
				          $('#showPrompt4').click(function(){
				              Turtle.layer.prompt({
				                  title:'请输入6个字符,并确认',
				                  value:'abc-',
				                  maxlength:6,
				                  formType:0
				              },function(txt){
				                   Turtle.layer.msg(txt);
				              })
				          });

				          // 弹出Tab
				          $('#showLayerTab').click(function(){
				            Turtle.layer.tab({
				                area: ['600px', '300px'],
				                tab: [{
				                    title: 'TAB1',
				                    content: '内容1'
				                }, {
				                    title: 'TAB2',
				                    content: '内容2'
				                }, {
				                    title: 'TAB3',
				                    content: '内容3'
				                }]
				            });
				          });
					
图片展示
图片轮播
示例代码
		$('.imgSliderDiv').createImgSlider({
				            imgList:[{
				                url:'images/lb1.jpg',
				                desc:'这是第一个图片的说明文字。'
				            },{
				                url:'images/lb2.jpg',
				                desc:'这是第二个图片的说明文字。'
				            },{
				                url:'images/lb3.jpg',
				                desc:'这是第三个图片的说明文字。'
				            }]
				        })
						
相册浏览
图片查看器 图片查看器,从下面DOM中获取图片,要求img标签必须有相应属性
layer宣传图 我入互联网这五年 微摄影 国足 三清山
示例代码
		$('#showPhoto').click(function() {
				            /*
				                json需严格按照如下格式:
				                {
				                    "title": "", //相册标题
				                    "id": 123, //相册id
				                    "start": 0, //初始显示的图片序号,默认0
				                    "data": [ //相册包含的图片,数组格式
				                        {
				                            "alt": "图片名",
				                            "pid": 666, //图片id
				                            "src": "", //原图地址
				                            "thumb": "" //缩略图地址
				                        }
				                    ]
				                }
				            */
				            var json = {
				                "status": 1,
				                "msg": "",
				                "title": "JSON请求的相册",
				                "id": 8,
				                "start": 0,
				                "data": [{
				                    "alt": "越来越喜欢观察微小的事物",
				                    "pid": 109,
				                    "src": "images/lb1.jpg",
				                    "thumb": ""
				                }, {
				                    "alt": "决定,意味着对与错的并存",
				                    "pid": 110,
				                    "src": "images/lb2.jpg",
				                    "thumb": "images/lb2.jpg"
				                }, {
				                    "alt": "梦想还是要有的,万一实现了呢",
				                    "pid": 111,
				                    "src": "images/lb3.jpg",
				                    "thumb": "images/lb3.jpg"
				                }, {
				                    "alt": "人与人关系图",
				                    "pid": 112,
				                    "src": "images/lb4.jpg",
				                    "thumb": ""
				                }, {
				                    "alt": "那忧郁的眼神,含着一丝晶莹的泪花",
				                    "pid": 113,
				                    "src": "images/lb5.jpg",
				                    "thumb": "images/lb5.jpg"
				                }]
				            }
				            Turtle.layer.photos({
				                photos: json,
				                shift:1 //不传动画效果,随机播放
				            });
				        });
				        $('#showPhoto2').click(function() {
				            Turtle.layer.photos({
				                photos: '#layer-photos-demo'
				             });
				            $('#layer-photos-demo img:first').click();
				        });
						
分页
url跳转
示例代码
					        var pageIndex = Turtle.getQueryString('pageIndex');
					        pageIndex = pageIndex ? +pageIndex - 1 : 0;

					        // pageTotal 总条数
					        // pageIndex 当前页索引
					        // pageSize 每页显示条数,默认12条
					        // isInputPageIndex 是否允许输入跳转页索引
					        // isShowTotal 是否显示总条数
					        // onPageClick 点击分页执行方法
					        $('.pageDiv').createPage({
					            pageTotal:100,
					            pageIndex:pageIndex,
					            isShowTotal:true,
					            isInputPageIndex:true
					        });
					        $('.pageDiv2').createPage({
					            pageTotal:50,
					            pageIndex:pageIndex,
					            isShowTotal:true
					        });
					        $('.pageDiv3').createPage({
					            pageTotal:50,
					            pageIndex:pageIndex
					        });
						
AJAX分页
示例代码
        
					        function getPageAjax (pageIndex,pageTotal,pageSize) {
					            $('.pageDivAjax').createPageAjax({
					                pageTotal:pageTotal,
					                pageIndex:pageIndex,
					                pageSize:pageSize,
					                isShowTotal:true,
					                isInputPageIndex:true,
					                onPageClick:function(pIndex) {
					                    //点击分页时调用,该方法中会调用ajax重新渲染分页
					                    mockPageAjax(pageSize, pIndex-1);
					                }.bind(this)
					            });
					        }
					        // 每页显示10条,当前索引0
					        mockPageAjax(10,0);
					        // 模拟分页时的ajax方法
					        function mockPageAjax(pageSize,pIndex) {
					            // Turtle.ajax.GetJsonP('ajax url',{pageSize:pageSize,pageIndex:pIndex},function(data){
					            //     var pageIndex = data.pageIndex,pageTotal = data.;
					            //     this.getPageAjax(pageIndex,pageTotal,pageSize);
					            // }.bind(this));
					            
					            // 以上是正式访问的代码,下面模拟ajax请求
								
					            Turtle.showLoading();
					            setTimeout(function(){
					                // 这里的总条数和当前索引应该是接口返给我的
					                var pageTotal = 120;
					                getPageAjax(pIndex,pageTotal,pageSize);
					                Turtle.hideLoading();
					            }.bind(this), 1000)
					        }
						
图标icon
更多图标Unicode字符Turtle Online公用图标字体文件,这些图标已经包含在Turtle中,可直接使用。
使用说明
						<i class="ttlofont">&#xe6bd;</i>
						其中的 &#xe6bd; 即是图标对应的Unicode字符
						                         
						你可以去定义它的颜色或者大小,如: 
						<i class="ttlofont" style="font-size: 30px; color: #1E9FFF;">&#xe6bd;</i> 
实例演示
独立使用iconfont

1. 把build中的iconfont文件夹拷贝到你项目中。

2. 添加以下css代码到你的css文件或者单独的css文件(注意代码中的url路径):

						@font-face {font-family: "ttlofont";
						  src: url('iconfont.eot'); /* IE9*/
						  src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
						  url('iconfont.woff') format('woff'), /* chrome, firefox */
						  url('iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
						  url('iconfont.svg#ttlofont') format('svg'); /* iOS 4.1- */
						}
						.ttlofont {
						  font-family:"ttlofont" !important;
						  font-size:30px;
						  font-style:normal;
						  -webkit-font-smoothing: antialiased;
						  -webkit-text-stroke-width: 0px;
						  -moz-osx-font-smoothing: grayscale;
						  vertical-align: middle;
						}
表单
输入框
基本用法
实例代码
<input type="text" name="title" placeholder="请输入标题" class="ttl-input"> 
表达式输入框
实例代码
$('.dm_expInput').uiExpressInput({
			data:[
					{id:1,title:'name'},
					{id:2,title:'phone'},
					{id:3,title:'gender'},
					{id:4,title:'country'}
				],
			logicKey:['or','and'],
			equKey:['endWith','in','>','>=','<','<='],
			placeholder:'输入逻辑表达式,支持【or、and、()、=、!=、in、not-in、begin-with、end-with】操作符;键盘上下键选择下拉列表。',

		});
下拉选择框
基本用法

实例代码
		$('.dm_showSelect2').uiSelect({
					            data:[{id:1,title:'商丘'},
					                    {id:2,title:'郑州'},
					                    {id:3,title:'开封'},
					                    {id:4,title:'洛阳'},
					                    {id:5,title:'信阳'},
					                    {id:6,title:'南阳'}],
					            index:2, //默认选中项索引
					            id:1, //默认选中项id(优先级高于index)
					            onChange:function(item){
					                $('.dm_showSelect2').next('i').text(item.id+':'+item.title);
					            }
					        });
							
过滤下拉框
输入内容过滤,过滤列表支持键盘向上、向下和回车操作。

实例代码
        
						        $('.dm_filterSelect1').uiSelect({
						            data:[{id:1,title:'平凡的世界'},
						                    {id:2,title:'围城'},
						                    {id:3,title:'放风筝的人'},
						                    {id:4,title:'从你的世界走过'},
						                    {id:5,title:'麻衣神相'},
						                    {id:6,title:'水浒传'},
						                    {id:7,title:'三国演义'},
						                    {id:8,title:'史记'},
						                    {id:9,title:'阿Q正传'},
						                    {id:10,title:'西游记'}],
						            isFilter:true,//是否允许过滤
						        });
							
单选框

实例代码
		$('.dm_cbox1').uiRadio({
				            data:[{id:1,title:'男'},
				                    {id:2,title:'女'},
				                    {id:3,title:'保密'}],
				            index:2, //默认选中项索引
				            id:5, //默认选中项id(优先级高于index)
				            onChange:function(item){
				                $('.dm_cbox1').next('i').text(item.id+':'+item.title);
				            }
				        });
复选框

实例代码
		$('.dm_cbox2').uiCheckbox({
				            data:[{id:1,title:'金立'},
				                    {id:2,title:'华为'},
				                    {id:3,title:'坚果'}],
				            index:[1,3], //默认选中项索引
				            id:[2,3], //默认选中项id(优先级高于index)
				            
				            onSelect:function(data){
				                // 选中/取消某一项时触发,data是当前点击项
				                var str=data.state==1?'选中了':'取消选中';
				                $('.dm_cbox2').next('i').text(str+':'+data.item.id+', '+data.item.title);
				            }
				        });
按钮

实例代码
                        <button class="ttl-btn ttl-btn-primary">原始按钮</button>
                        <button class="ttl-btn">默认按钮</button>
                        <button class="ttl-btn ttl-btn-normal">百搭按钮</button>
                        <button class="ttl-btn ttl-btn-warm">暖色按钮</button>
                        <button class="ttl-btn ttl-btn-danger">警告按钮</button>
                        <button class="ttl-btn ttl-btn-disabled">禁用按钮</button>

实例代码
                        <button class="ttl-btn ttl-btn-big">大型按钮</button>
                        <button class="ttl-btn">默认按钮</button>
                        <button class="ttl-btn ttl-btn-small">小型按钮</button>
                        <button class="ttl-btn ttl-btn-mini">迷你按钮</button>

实例代码
                        <button class="ttl-btn ttl-btn-radius ttl-btn-primary">原始按钮</button>
                        <button class="ttl-btn ttl-btn-radius">默认按钮</button>
                        <button class="ttl-btn ttl-btn-radius ttl-btn-normal">百搭按钮</button>
                        <button class="ttl-btn ttl-btn-radius ttl-btn-warm">暖色按钮</button>
                        <button class="ttl-btn ttl-btn-radius ttl-btn-danger">警告按钮</button>
                        <button class="ttl-btn ttl-btn-radius ttl-btn-disabled">禁用按钮</button>

实例代码
                        <button class="ttl-btn ttl-btn-big ttl-btn-radius ttl-btn-normal">大型百搭</button>
                        <button class="ttl-btn ttl-btn-small ttl-btn-radius ttl-btn-danger">小型警告</button>
                        <button class="ttl-btn ttl-btn-mini ttl-btn-radius ttl-btn-disabled">迷你禁用</button>

实例代码
                        <button class="ttl-btn"><i class="ttlofont">&#xe6d9;</i> 添加</button>
                        <button class="ttl-btn"><i class="ttlofont">&#xe6a4;</i></button>
                        <button class="ttl-btn"><i class="ttlofont">&#xe679;</i></button>
                        <button class="ttl-btn"><i class="ttlofont">&#xe6a3;</i></button>
                        <button class="ttl-btn"><i class="ttlofont">&#xe761;</i></button>
                        <button class="ttl-btn"><i class="ttlofont">&#xe6b4;</i></button>
                        <button class="ttl-btn"><i class="ttlofont">&#xe6f3;</i></button>
文本域
实例代码
<textarea placeholder="请输入" class="ttl-textarea"></textarea>
组合表单

* 11位号码

-

实例代码
			
						<div class="ttl-form-item">
			                          <label>姓名</label>
			                          <div class="ttl-normal"> /*ttl-full,ttl-normal,ttl-mult,ttl-small*/
			                              <input type="text" class="ttl-input">
			                          </div>
			                        </div>
cPageView(页面框架)

1. 继承Backbone.View

2. 自定义事件方法:on、off、trigger、once

3. 页面交互事件定义:events{}

4. 页面初始化:initiapze()

5. 全局jquery对象:$el

实例演示

初始化时被改变:初始化时会帮给我赋值

apitest帮我定义事件
点击上面的按钮改变我的html
示例代码
		define(['cPageView'],function(PageView) {
					    var View = PageView.extend({
					        events:{
					            'click #cpageviewTest1':'clicktest1'
					        },
					        initialize: function () {
					            console.log('initialize');
					            this.$el.find('#cpageviewTest3').html('默认值被改变');
					            this.on('initpage',function(){
					                console.log('initpage');
					            });
					            this.trigger('initpage');
					        },
					        clicktest1:function(e){
					            this.$el.find('#cpageviewTest2').html('赋值成功!'+new Date())
					        }
					    })
					    return new View();
						});
					
模板(Require.text.js)

Require.text.js已经打包入Turtle框架中,不需要独立引用

实例演示
点击我获取模板html

点击上面的按钮改变我

html模板
				<div>
						    你好,<%=name%>,我来自模板 temptest.html
						</div>
						
js调用
				define(['cPageView','text!views/temple/temptest.html'],function(PageView,temptest) {
						    var View = PageView.extend({
						        events:{
						            'click #templateA':'clicktest2'
						        },
						        clicktest2:function(){
						            $('#templateTest').html(_.template(temptest)({name:'Alec yin'}));
						        }
						    })
						    return new View();
						});
						
公共方法

以下方法调用时,均是以【Turtle./turtle.】开头,如:Turtle.showLoading()/turtle.showLoading()。

Turtle内置有underscore.js,所以underscoreJS中的方法也可使用。

弹层快捷调用

msg/layer.msg:显示提示信息,在一定时间内自动消失

alert/layer.alert:显示提示框

confirm/layer.confirm:显示确认框

showLoading:显示加载中动画

hideLoading:隐藏加载中动画

页面跳转

goBack:返回上一页

goTo:跳转指定url

本地存储

setCookie: 保存cookie

getCookie: 获取cookie

removeCookie: 移除cookie

setStorage: 保存Storage

getStorage: 获取Storage

时间处理

dateUtil.formatNum:1-9返回01,02,...;eg:formatNum(5) // 05 ;formatNum(10) //10

dateUtil.parse:将字符串转换为日期,支持格式y-m-d ymd (y m r)以及标准的。返回日期对象;dateUtil.parse('2015/5/3','y/m/d');dateUtil.parse('2015-5-3','y-m-d')

dateUtil.format:将日期格式化为字符串。format(new Date(), 'y/m/d');format(new Date(), 'Y/M/D H:F:S');

dateUtil.isDate:判断是不是时间对象

dateUtil.isLeapYear:是否为闰年

dateUtil.getDaysOfMonth:获取一个月份的天数

dateUtil.getBeginDayOfMouth:获取一个月份1号是星期几,注意此时的月份传入时需要自主减一。return {num} 当月一号为星期几,0是星期天,1是星期一

dateUtil.ToDate:把格式为 /Date(136883030349000)/ 转化为"yyyy-MM-dd hh:mm:ss"格式

dateUtil.dateDiff(date1, date2, interval):获取两个日期的间隔时间。参数:interval {String} 间隔类型(毫秒、秒、分钟、小时、天、月、年)

日期对象.addYears:加上特定的年份。返回加好年份的日期对象

日期对象.addMonths:加上特定的月份。返回加好月份的日期对象

日期对象.addDays:加上特定的天数。返回加好天数的日期对象

日期对象.addHours:加上特定的小时数。返回加好小时数的日期对象

日期对象.addMinutes:加上特定的分钟数。返回加好分钟数的日期对象

日期对象.addSeconds:加上特定的秒数。返回加好秒数的日期对象

日期对象.toDate:生成对应的日期对象,去掉时分秒,只保留年月日星期

日期对象.toStdDateString:生成对应的日期字符串,yyyy-MM-dd

日期对象.toStdDateTimeString:生成对应的日期字符串,yyyy-MM-dd HH:mm:ss

日期对象.toEngDateString:生成对应的英文版日期字符串,Oct-31-2016

日期对象.toFormatString:生成需要的格式的日期字符串,参数:yMdhmsS=>年月日时分秒毫秒,如yyyy-MM-dd hh:mm:ss:SS

AJAX调用

ajax.GetJsonP: ajax get jsonp

ajax.PostJsonP: ajax post jsonp

ajax.PostJson: ajax post json

ajax.GetJson: ajax get json

获取当前位置

position.getCurrentPosition: 获取当前位置(省市区街道)

实例代码
turtle.position.getCurrentPosition('baidu',function(position){console.log(position)});
//["协和路", "长宁区", "上海市", "上海市", "中国"]
turtle.position.getCurrentPosition('google',function(position){console.log(position)});
//["S20外环高速入口", "长宁区", "上海市", "上海市", "中国"]
其他常用

isNullValue: 是否是:undefined/""/null/"null"

isEmptyObject: 是否空对象

isEmail: 验证邮箱

enterClick(event, fn): 回车执行fn

getQueryString: 获取url参数

clone: 克隆对象

stringFormat: str字符串格式化赋值。eg:stringFormat('我叫$1,来自$2','Alec','中国')

getType: 获取对象类型【'boolean'、'number'、'string'、'function'、'array'、'date'、'regexp'、'error'】

stringifyJSONstr: 任何对象转化为json字符串

strToJson: str转化为json对象

jsonToObject: json转换成对象

createGuid: 创建GUID

createHtmlObj: 根据html创建html对象

toArraySelf: 把list转化为数组

loadCss: 加载CSS,直接把css内容加载到head中

loadCssHref: 加载CSS引用到head中,参数:数组/字符串

loadJs: 加载js脚本,直接把css内容加载body后

loadJsSrc: 加载js引用到head中,参数:数组/字符串

loadJsSrcOrder: 按顺序加载js引用到head中,前一个加载完成再加载下一个(下一个在前一个回调函数中加载),全部加载完,执行总体回调,参数:数组/字符串,总体回调

浏览器判断

browser.silk:Silk浏览器,亚马逊推出的云浏览器

browser.playbook:黑莓PlayBook平板机

browser.chrome:chrome浏览器

browser.firefox:firefox

browser.ie:ie

browser.webview:iPhone|iPod|iPad系统下的AppleWebKit,不是chrome

browser.safari:safari

browser.weixin:weixin内置浏览器