王新阳

wangxinyang

Exif.js 读取图像的元数据

中文文档:http://code.ciaoca.com/javascript/exif-js/

https://github.com/jseidelin/exif-js

Array.sort()

var arrDemo = new Array();
arrDemo[0] = 10;
arrDemo[1] = 50;
arrDemo[2] = 51;
arrDemo[3] = 100;
arrDemo.sort(); //调用sort方法后,数组本身会被改变,即影响原数组
alert(arrDemo); //10,100,50,51 默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序
arrDemo.sort(function(a,b){return a-b}); //从小到大排序
alert(arrDemo); //10,50,51,100
arrDemo.sort(function(a,b){return b-a}); //从大到小排序
alert(arrDemo); //100,51,50,10

1、数组调用sort方法后,会影响本身(而非生成新数组)
2、sort()方法默认是按字符来排序的,所以在对数字型数组排序时,不可想当然的以为会按数字大小排序!
3、要改变默认的sort行为(即按字符排序),可以自行指定排序规则函数(如本例所示)

好哥们-LJ

请输入查看密码:

jquery mobile动态添加元素

动态添加li

$('ul').append('<li>内容</li>').listview('refresh');

动态添加ul

$('div').append('<ul data-role="listview"><li>内容</li></ul>').trigger('create');

动态添加option

$('select').append('<option value="1">内容</option>').selectmenu('refresh');
jquery mobile 多个页面间切换时,遇到页面内容不变的情况,首先检查data-role="page"的id,确保id不同。在不禁用ajax的情况下,id相同,jqm不会发起新的请求,而是直接调用缓存。

jquery mobile 开启页面缩放

在jquery mobile中页面缩放默认是关闭的。要开始缩放功能,只需在header或footer标签添加data-disable-page-zoom=false属性即可。

<div data-role="header|footer" data-disable-page-zoom="false">

注:开启缩放时,data-role=header|footer中都不能有data-position="fixed"属性。

CSS3旋转动画

鼠标滑过b标签360度旋转

a:hover b{
	animation:articl 4s infinite linear;
	-webkit-animation:articl 4s infinite linear;
	-moz-animation:articl 4s infinite linear;
	-ms-animation:articl 4s infinite linear;
}
@keyframes myrole{
	0%{transform:rotate(0deg);}
	50%{transform:rotate(180deg);}
	100%{transform:rotate(360deg);}
}
@-webkit-keyframes articl{
	0%{-webkit-transform:rotate(0deg);}
	50%{-webkit-transform:rotate(180deg);}
	100%{-webkit-transform:rotate(360deg);}
}
@-moz-keyframes articl{
	0%{-webkit-transform:rotate(0deg);}
	50%{-webkit-transform:rotate(180deg);}
	100%{-webkit-transform:rotate(360deg);}
}
@-ms-keyframes articl{
	0%{-webkit-transform:rotate(0deg);}
	50%{-webkit-transform:rotate(180deg);}
	100%{-webkit-transform:rotate(360deg);}
}

jquery mobile转跳页面时闪动问题的解决

<a href="url" data-transiation="slide">文本</a>
slide转跳时当前页面滚动条会跳到页面顶端
slidefade不会出现这种问题
以下CSS解决进入目标页面后闪一下的问题,效果还不错
.ui-page {
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;	/* Chrome 和 Safari */
	-moz-backface-visibility:hidden; 	/* Firefox */
	-ms-backface-visibility:hidden; 	/* Internet Explorer */
}

jquery mobile 禁用ajax

局部禁用ajax,只需在a标签上添加 data-ajax="false" 或 rel="external" 站外链接)

全局禁止ajax,需要在jquery.js之后、jquery.mobile-1.4.5.js引用之前添加:

<script>$(document).ready(function(){jQuery.mobile.ajaxEnabled = false;});</script>

jquery mobile pageinit等事件多次执行的解决

如果从页面A到B再返回A时,页面A中的pageinit、pageshow等事件会执行多次,解决方法是给当前页面的page(data-role='page')绑定一个变量。

$(document).on('pageinit', '#pageid', function(){
	if(!$(this).data('loaded')){
		$(this).data('loaded', true);
		alert(0);
	};
});
2025-09-03 星期三 农历七月十二