您的位置:首页 > Web前端 > HTML5

H5 indexedDB 菜单操作

2015-12-19 11:46 501 查看
var stu = null;
$(document).ready(function() {
openDB(myDB.name, myDB.version);
stu = getDataByKey(myDB.db, 'students', 1001);
console.log(JSON.stringify(stu));
change_page()
});
function change_page() {
$(".menu  li").each(function(i, n) {
if ($(n).find("a").attr("href") == stu.name) {
$(n).addClass("active")
} else {
$(n).removeClass("active")
}
})
}
function getDataByKey(db, storeName, value) {
var transaction = db.transaction(storeName, 'readwrite');
var store = transaction.objectStore(storeName);
var result = store.get(value) var student = result.result;
return student
}
function openDB(name, version) {
var version = version || 1;
var request = window.indexedDB.open(name, version);
request.onerror = function(e) {
console.log(e.currentTarget.error.message)
};
request.onsuccess = function(e) {
var db = e.target.result;
myDB.db = db
};
request.onupgradeneeded = function(e) {
var db = e.target.result;
if (!db.objectStoreNames.contains('students')) {
db.createObjectStore('students', {
keyPath: "id"
})
}
console.log('DB version changed to ' + version)
}
}
var students = [{
id: 1001,
name: "Byron",
age: 24
},
{
id: 1002,
name: "Frank",
age: 30
},
{
id: 1003,
name: "Aaron",
age: 26
}];
var myDB = {
name: 'test1',
version: 4,
db: null
};
function addData(db, storeName) {
var transaction = db.transaction(storeName, 'readwrite');
var store = transaction.objectStore(storeName);
for (var i = 0; i < students.length; i++) {
store.add(students[i])
}
}
function updateDataByKey(db, storeName, obj) {
var transaction = db.transaction(storeName, 'readwrite');
var store = transaction.objectStore(storeName);
store.delete(obj.id);
store.add(obj)
}
function init_menu() {
openDB(myDB.name, myDB.version);
setTimeout(function() {
addData(myDB.db, 'students')
},
1000)
} //监听点击的那一个
$(".menu li").on("click",function(){var k = $(this).find("a").attr("href");var va ={id:1001,name:k,age:26}openDB(myDB.name,myDB.version);updateDataByKey(myDB.db,'students',va)});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: