localStorage實現(xiàn)便簽小程序
前言:今天寫了個小練習(xí),把這幾天看的東西鞏固一下,在這個程序中用到了localStorage存儲和json串的轉(zhuǎn)換。
下面是具體的實現(xiàn)代碼:
(1)首先判斷是否存在用戶,從而顯示相應(yīng)的界面
function isUser()
{
var storage = window.localStorage;
if (storage.user != undefined)
{
document.getElementById("showmess").style.display = "block";
document.getElementById("fillmess").style.display = "none";
}
else
{
document.getElementById("showmess").style.display = "none";
document.getElementById("fillmess").style.display = "block";
}
}
(2)存儲用戶信息
var pic; //全局變量存儲圖片信息
/*從本地電腦獲得圖片*/
function add_files(files) {
if (files.length) {
var file = files[0];
var reader = new FileReader();
reader.onload = function(e) {
document.getElementById("userpic").src = e.target.result;
pic = e.target.result;
}
reader.readAsDataURL(file);
}
}
function saveUserMess()
{
var name = document.getElementById("username").value;
if (name != "")
{
var storage = window.localStorage;
var jsonObj = {
name:name,
icon:pic
};
var user = JSON.stringify(jsonObj);
storage.setItem("user",user);
}
else
{
alert("昵稱不為空");
}
}

(3)用戶輸入便簽內(nèi)容,并保存
function save_diary()
{
var headle = document.getElementById("headle").value;
var cont = document.getElementById("diary").value;
if (headle != "" && cont != "")
{
var storage = window.localStorage;
if (storage.diary != undefined)
{
var diary = storage.getItem("diary");
var jsonObj = JSON.parse(diary);
var diaryItem = {
headle:headle,
diary:cont,
date:new Date()
};
jsonObj.push(diaryItem);
var data = JSON.stringify(jsonObj);
storage.setItem("diary",data);
}
else
{
var jsonObj = [{
headle:headle,
diary:cont,
date:new Date()
}];
var diary = JSON.stringify(jsonObj);
storage.setItem("diary",diary);
}
}
else
{
alert("標(biāo)題和內(nèi)容不為空哦");
}
}

(4)將用戶便簽信息顯示在見面
function showDiary()
{
var storage = window.localStorage;
var mess = JSON.parse(storage.user);
if (storage.diary != undefined)
{
var json = JSON.parse(storage.diary);
var div_id = document.getElementById("diarymess");
for (var i = 0; i < json.length; i++)
{
div_id.innerHTML+='<div><button class="btn btn-success"'+'type="button" id="dropdownMenu" onclick="show(this)"><div class="col-md-4"><img src='+mess.icon+' class="img-circle size" id="userpic"><br><font style="text-align:center">'+mess.name+'</font></div><div class="col-md-8"><h2>'+json[i].headle+'</h2><font>'+json[i].date+'</font></div><span class="caret" style="margin-top:50px;">'+'</span></button><p style="display:none">'+json[i].diary+'</p><div>';
}
}
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解cesium實現(xiàn)大批量POI點位聚合渲染優(yōu)化方案
這篇文章主要為大家介紹了cesium實現(xiàn)大批量POI點位聚合渲染優(yōu)化方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet p
這篇文章主要為大家介紹了pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies報錯解決2023-06-06
JS實現(xiàn)字符串轉(zhuǎn)日期并比較大小實例分析
這篇文章主要介紹了JS實現(xiàn)字符串轉(zhuǎn)日期并比較大小的方法,以實例形式較為詳細(xì)分析了JavaScript字符串與日期操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12
js判斷iframe內(nèi)的網(wǎng)頁是否滾動到底部觸發(fā)事件
這篇文章主要介紹了js判斷iframe內(nèi)的網(wǎng)頁是否滾動到底部觸發(fā)事件,需要的朋友可以參考下2014-03-03
JavaScript常用數(shù)組操作方法,包含ES6方法
這篇文章主要介紹了JavaScript常用數(shù)組操作方法,包含ES6方法,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒借鑒價值,需要的朋友可以參考下2018-09-09
基于css3新屬性transform及原生js實現(xiàn)鼠標(biāo)拖動3d立方體旋轉(zhuǎn)
這篇文章主要介紹了基于css3新屬性transform及原生js實現(xiàn)鼠標(biāo)拖動3d立方體旋轉(zhuǎn) 的相關(guān)資料,需要的朋友可以參考下2016-06-06
JavaScript中5個重要的Observer函數(shù)小結(jié)
瀏覽器為開發(fā)者提供了功能豐富的Observer,本文主要介紹了JavaScript中5個重要的Observer函數(shù)小結(jié),具有一定的參考價值,感興趣的可以了解一下2024-01-01
JavaScript中數(shù)組嵌套對象排序方法的示例詳解
在?JavaScript?中,可以使用?sort()?方法對包含嵌套對象的數(shù)組進(jìn)行排序,本文將通過三個簡單的示例為大家進(jìn)行簡單的介紹,需要的可以參考下2024-03-03
MATLAB中ismissing函數(shù)用法小結(jié)
這篇文章主要介紹了MATLAB中ismissing函數(shù)用法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09

