// JavaScript Document
//mobileinit事件:当Jquery Mobile开始执行时,他就会在document对象上触发mobileinit 事件,所以你可以绑定别的行为来覆盖默认配置
//mobileinit事件是在加载后马上触发
$(document).bind("mobileinit",function(){
alert("jquerymobile init")
$.mobile.notesdb=openDatabase("trnotes","1.0","Travel Notes",10*1024*1024);
$.mobile.notesdb.transaction(function(t){
t.executeSql("CREATE TABLE IF NOT EXISTS notes (" +
"id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT," +//
"title TEXT NOT NULL," +//
"details TEXT NOT NULL," +//
"entered TEXT NOT NULL," +//
"updated TEXT," +//
"latitude REAL," +//
"longitude REAL," +//
"photourl TEXT);");
});
//$("[data-role=footer]").fixedtoolbar({ tapToggle: false });
$.mobile.fixedToolbars.setTouchToggleEnabled(false);
//$.mobile.showPageLoadingMsg();
});
//pagebeforeshow:转场之前,页面被显示时触发
//pagebeforehide:转场之前,页面被隐藏时触发
//pageshow:转场之后,页面被显示时触发
//pagehide:转场之后,页面被隐藏时触发
//$('div').live('pageshow',function(event, ui){
// alert('This page was just hidden: '+ ui.prevPage);
// });
$(function(){
$("#home").live("pagebeforeshow",showMapNote);
$("#new").live("pageshow",getLocation);
//$("#insert").live("submit",insertEntry);
//$("#photo").live("click",getPhoto);
$("#photo").live("tap",getPhoto);
$("#btnAddNote").live("click",insertEntry);
$("#travellist").live("pageshow",getTitles);
$("#editItem").live("click",editItem);
$("#delete").live("click",deleteItem);
$("#update").live("click",updateItem);
$("#limit").live("click",swapList);
});
//location
var trNotes={
lat:39.92,
lng:116.46,
limit:20
};
function showMapNote(){
//alert("map page -pagebeforeshow");
if(!map) return;
$.mobile.notesdb.transaction(function(t){
t.executeSql("SELECT * FROM notes ORDER BY id DESC LIMIT ?",[trNotes.limit],
function(t,result){
getGraphics(result)
});
});
}
function getTitles(){
var list=$("#recent"),items=[];
$.mobile.notesdb.transaction(function(t){
t.executeSql("SELECT id,title,details,photourl FROM notes ORDER BY id DESC LIMIT ?",[trNotes.limit],function(t,result){
var i,len=result.rows.length,row;
if(len>0){
for(i=0;i<len;i+=1){
row=result.rows.item(i);
photo=row.photourl;
if(!photo)
photo="images/nophoto.png";
content=row.details.substring(0,10);
items.push("<li><a href='#display' data-trnote='"+row.id+"'><img src="+photo+"/><h3>"+row.title+"</h3><p>"+content+"</p></a></li>");
}
list.html(items.join(" "));
list.listview("refresh");
$("a",list).live("click",function(e){
getItem(($(this).attr("data-trnote")));
});
$("#entries").show();
$("#recent").show();
}
else
{
$("#entries").hide();
$("#recent").hide();
}
});
});
}
function getLocation(){
if(!navigator.geolocation){
alert("can not use geolocation");
return;
}
navigator.geolocation.getCurrentPosition(locSuccess,locFail,{enableHighAccuracy:false});
}
function locSuccess(position){
trNotes.lat=position.coords.latitude;
trNotes.lng=position.coords.longitude;
}
function locFail(error){
var msg="Cannot determine location.";
if(error.code==error.PERMISSION_DENIED)
{
msg+="Geolocation is disabled.";
}
try{
navigator.notification.alert(mag,null,"Geolocation");
}catch(e){
alert(msg);
}
}
//插入日志
function insertEntry(e){
var title=$("#title").val(),
details=$("#details").val(),
photo=$("#myPhoto").attr("src");
//alert(photo);
if(!title)
title="无";
if(!details)
details="无";
if(!photo)
photo="images/nophoto.png";
$.mobile.notesdb.transaction(function(t){
t.executeSql("INSERT into notes (title,details,entered,latitude,longitude,photourl) VALUES(?,?,date('now'),?,?,?);",[title,details,trNotes.lat,trNotes.lng,photo],
function(){
$.mobile.changePage("#home","slide",false,true);
$("#title").val("");
$("#details").val("");
$("myPhoto").css("display","none");
},null);
});
e.preventDefault();
}
function getItem(id){
$.mobile.notesdb.transaction(function(t){
t.executeSql("SELECT * FROM notes WHERE id=?",[id],function(t,result){
var row=result.rows.item(0),entered=convertToMDY(row.entered),updated=row.updated;
var photo;
opts={};
$("#display h1").text(row.title);
$("#display article").text(row.details);
photo=row.photourl;
if(!row.photourl)
photo="images/nophoto.png";
$("#displayphoto").attr("src",photo);//.src=row.photourl;
//alert("DISPLAYS"+row.photourl);
/*if(row.latitude==null){
$("#showmap").parent("p").hide();
}else{
$("#showmap").parent("p").show();
opts.title=row.title;
opts.lat=row.latitude;
opts.lng=row.longitude;
$("#showmap").unbind("click");
$("#showmap").click(opts,displayMap);
}*/
$("#display footer").html("<p>创建时间:"+entered+"</p>");
if(updated!=null){
updated=convertToMDY(updated);
$("#display footer").append("<p>修改时间:"+updated+"</p>");
}
$("#delete,#update").attr("data-trnote",id);
$("#title2").val(row.title);
$("#details2").val(row.details);
});
});
}
function convertToMDY(date){
var d=date.split("-");
return d[1]+"/"+d[2]+"/"+d[0];
}
function displayMap(e){
var title=e.data.title,
latlng=e.data.lat+","+e.data.lng;
if(typeof device !="undefined"&& device.platform.toLowerCase()=="android"){
window.location="http://maps.google.com/maps?z=16&q="+encodeURIComponent(title)+"@"+latlng;
}else{
$("#map h1").text(title);
$("#map div[data-role=content]").html("<img src='http://maps.google.com/maps/api/staticmap?center="+latlng+"&zoom=16&size=320x420&markers="+latlng+"&sensor=false'>");
$.mobile.changePage("#map","fade",false,true);
}
}
function editItem(){
$.mobile.changePage("#editNote","slideup",false,true);
}
function deleteItem(e){
var id=$(this).attr("data-trnote");
$.mobile.notesdb.transaction(function(t){
t.executeSql("DELETE FROM notes WHERE id=?",[id],$.mobile.changePage("#travellist","slide",false,true),null);
});
e.preventDefault();
}
function updateItem(e){
var title=$("#title2").val(),details=$("#details2").val(),id=$(this).attr("data-trnote");
$.mobile.notesdb.transaction(function(t){
t.executeSql("UPDATE notes SET title=?,details=?,updated=date('now') WHERE id=?",[title,details,id],$.mobile.changePage("#travellist","flip",false,true),null);
});
e.preventDefault();
}
function swapList(){
var btn=$("#limit .ui-btn-text");
if(btn.text()=="全部"){
btn.text("最近");
//$("#entries h2").text("全部日记");
trNotes.limit=-1;
}else{
btn.text("全部");
//$("#entries h2").text("最近");
trNotes.limit=10;
}
getTitles();
}
function getPhoto(){
//alert("click getPhoto");
if(!navigator.camera) {
alert("camera can not use");
return;
}
navigator.camera.getPicture(onSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI });
function onSuccess(imageData) {
//alert("camer successful!!!");
//alert(imageData);
var newnote=$("#newNote");
var src=imageData;
//var src="data:image/jpeg;base64," + imageData;
var img=$("#myPhoto");
img.attr("src",src);
img.css("display","block");
//var img="<img src="+src+"/>";
//newnote.append(img);
newnote.listview("refresh");
}
function onFail(message) {
alert(' carema Failed because: ' + message);
}
}
分享到:
相关推荐
本资源包提供了一些常见的JavaScript例子,帮助开发者更好地理解和应用JavaScript技术。下面,我们将详细探讨这些例子所涵盖的JavaScript知识点。 1. **变量与数据类型**: JavaScript支持动态类型,这意味着变量...
标题“js特效 javascript例子”暗示我们将探讨JavaScript在创建网页特效方面的应用。JavaScript特效可以包括但不限于动画、滑动面板、下拉菜单、轮播图、模态窗口、拖放功能、表单验证等。这些特效为用户提供了更...
这个"JavaScript例子"压缩包提供了一系列的源码示例,旨在帮助学习者深入理解和掌握JavaScript的核心概念与实际应用。 1. **基础语法**:JavaScript的基础语法包括变量声明、数据类型(如字符串、数字、布尔值、...
JavaScript例子是一个涵盖源码和工具相关知识的主题,主要聚焦在使用JavaScript进行编程的实际示例上。在这个场景中,"DTree"可能代表一个特定的数据结构或库,如决策树(Decision Tree)或者目录树(Directory Tree...
这个“js例子,不错的例子”压缩包可能包含了多个示例代码,用于帮助开发者理解和学习JavaScript的各种功能和用法。 首先,JavaScript的核心概念包括变量、数据类型、控制结构、函数等。变量是存储数据的容器,可以...
【标题】"一个简单的js例子"所提及的是一个JavaScript编程的示例,JavaScript是一种广泛用于网页和网络应用的脚本语言。它主要负责实现客户端的交互性,如动态内容更新、表单验证以及用户界面的实时反馈。JavaScript...
【标题】"无忧脚本论坛JS例子集合"是关于JavaScript编程的一个资源库,它包含了从无忧脚本论坛搜集的各种JavaScript示例。这个集合特别有价值,因为它汇聚了多种类型的JavaScript应用,帮助开发者深入理解和掌握...
在“超漂亮常用的js例子”这个压缩包中,我们可以期待找到一系列实用且美观的JavaScript代码示例,这些示例可能涵盖日常开发中的关键场景,如用户登录、注册等。 登录功能在Web应用中至关重要,它允许用户创建账户...
标题"threejs简单例子,threejs中文实例,JavaScript"表明我们将通过一个简单的示例来学习Three.js的基础应用,并且这个示例是针对中文用户编写的。 首先,Three.js的核心概念包括场景(Scene)、相机(Camera)和...
描述指出,这个例子会展示如何将名为"obj"的3D模型文件转换为three.js能够识别和使用的JavaScript格式。 首先,我们要理解什么是OBJ文件。OBJ是一种通用的3D模型文件格式,包含几何形状、纹理和表面属性等信息。...
这个"国外牛人js例子"的压缩包很可能是包含了一些由国际知名开发者编写的JavaScript代码示例。这些示例通常用来展示JavaScript的独特特性和强大功能,帮助学习者理解和掌握这门语言。下面我们将深入探讨一些可能涵盖...
《epass1000ND_JS例子:JavaScript实现与VBScript的对比》 在信息技术领域,数字证书和安全硬件设备的使用越来越广泛,其中epass1000ND是一款常用的电子令牌设备,它主要用于存储和保护用户的私钥,提供安全的身份...
自己编写的WebRTC的JS例子。google的PC1,把本端和远端都合在一起了,初学者容易混淆。写了个小例子,分为本端和远端。可以通过手工拷贝SDP和ICE信息,进行呼叫接续。感觉流程比较清晰,可供初学者使用。 测试时,...
在本压缩包“js例子464个.zip”中,包含了464个JavaScript实例,这些实例涵盖了JavaScript语言的各个方面,为学习者提供了丰富的实践资源。 1. 基础语法:JavaScript的基础包括变量声明(var、let、const)、数据...
这个名为“最强javascript例子(多项代码)”的压缩包,显然包含了多种JavaScript的实用代码示例,旨在帮助开发者理解和掌握JavaScript的核心概念和技术。 1. **基础语法**:JavaScript的基础包括变量声明(var, ...
这个简单的JavaScript例子,尽管看似基础,但对于理解和学习JavaScript的基本语法、数据类型、控制结构以及函数等方面,具有很大的帮助。 首先,我们来讨论JavaScript的基础语法。在JavaScript中,语句以分号结束,...
然而,这个“ios-websocket js例子.rar”并没有提供服务器端代码,所以我们只能假设这是一个独立的JavaScript客户端示例。要使这个示例工作,你需要有一个支持WebSocket的服务器来与之交互。 总的来说,WebSocket是...
描述中的"Ajax.js例子"表明可能包含了一些示例代码,用于展示如何使用`Ajax.js`库。这些示例可能涵盖了简单的数据获取、表单提交、分页加载等功能,帮助开发者理解如何将Ajax集成到实际项目中。 在实际应用中,一个...
一个简单的例子程序,简单描述了JS的简单制作