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行为(即按字符排序),可以自行指定排序规则函数(如本例所示)
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 开启页面缩放
在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"属性。
jquery mobile转跳页面时闪动问题的解决
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); }; });
jquery mobile 1.4+ 调用和关闭loading
$.mobile.loading('show', { text: '加载中……', //加载器中显示的文字 textVisible: false, //是否显示文字 theme: 'a', //加载器主题样式a-e textonly: false, //是否只显示文字 html: '' //要显示的html内容,如图片等 }); $.mobile.loading('hide');
LODOP打印控件的基本使用
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 pluginspage="install_lodop32.exe" /> </object> <script> //打印功能 function p(id, num){ var td=$('tr#tr'+id+' > td'); var LODOP=getLodop(); //初始化并命名打印程序 LODOP.PRINT_INIT('汽博会观众入场券打印程序'); //设置纸张尺寸及名称,单位0.1mm LODOP.SET_PRINT_PAGESIZE(1, 750, 1050, '汽博会观众入场券'); //添加背景图 LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='http://127.0.0.1/2015/201506/08qibohui/images/ticket.jpg'>"); //背景图显示模式 //在预览中显示 LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",1); //打印背景图 //LODOP.SET_SHOW_MODE("BKIMG_PRINT",1); //背景图的位置及尺寸 //LODOP.SET_SHOW_MODE('BKIMG_TOP', 1); //LODOP.SET_SHOW_MODE('BKIMG_LEFT', 1); //LODOP.SET_SHOW_MODE('BKIMG_WIDTH', '75mm'); //LODOP.SET_SHOW_MODE('BKIMG_HEIGHT', '105mm'); //添加打印内容,默认尺寸单位为像素,可选单位及换算关系:1英寸 = 2.54cm = 25.4mm = 72pt = 96px //ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent) //用SET_PRINT_STYLE设置打印式样,该接口只对位于其后方的内容有效 //设置字号,单位是pt LODOP.SET_PRINT_STYLE("FontSize",18); //是否加粗 LODOP.SET_PRINT_STYLE("Bold",1); //设置字体 LODOP.SET_PRINT_STYLE("FontName",'宋体'); //添加打印内容 LODOP.ADD_PRINT_TEXT('45mm','25mm','RightMargin:5mm','6mm','入场券'); LODOP.SET_PRINT_STYLE("FontSize",10); LODOP.SET_PRINT_STYLE("Bold",0); LODOP.SET_PRINT_STYLE("FontName",'微软雅黑'); LODOP.ADD_PRINT_TEXT('60mm','15mm','RightMargin:5mm','6mm','姓名:'+td.eq(1).text()); LODOP.ADD_PRINT_TEXT('66mm','15mm','RightMargin:5mm','6mm','单位:'+td.eq(3).text()); LODOP.ADD_PRINT_TEXT('72mm','15mm','RightMargin:5mm','6mm','城市:'+td.eq(3).text()); //也可以用SET_PRINT_STYLEA接口设计字体,此接口位于添加打印内容接口(ADD_PRINT_TEXT和ADD_PRINT_HTM)后面 //数字2是姓名栏的顺序号(ADD_PRINT_TEXT或ADD_PRINT_HTM出现的顺序,从1开始;如果顺序号为0,则对SET_PRINT_STYLEA之前最后添加的打印内容有效) //LODOP.SET_PRINT_STYLEA(2, "FontSize", 10); //LODOP.SET_PRINT_STYLEA(2, "Bold", 0); //LODOP.SET_PRINT_STYLEA(2, "FontName", '微软雅黑'); //LODOP.SET_PRINT_STYLEA(2, "FontColor", '#ff0000'); //添加html //LODOP.ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight, document.getElementById('id').innerHTML); //设置输出以纸张边缘为基 LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true); //打印维护,只能对现有字段进行维护,不能添加或删除新字段 //LODOP.PRINT_SETUP(); //打印设计,可以添加、删除打印字段 //LODOP.PRINT_DESIGN(); //打印预览 //LODOP.PREVIEW(); //选择打印机 //LODOP.PRINTA(); //打印 //if (LODOP.SET_PRINT_COPIES(num)){ // LODOP.PRINT(); //}else{ // alert("设置打印份数失败!"); //} LODOP.PRINT(); } </script>
LODOP官方使用说明及样例:http://www.lodop.net/demo.html