js+jquery实现html5的后台缓存书签效果

<strong><span style="font-size:12px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
	<style type="text/css">
		*{margin:0px;padding:0px;}
		body{background:url("imges/bg2.jpg")}
		.Menu{
			width:200px;height:252px;background:#CDFEC0;
			position:absolute;left:500px;top:100px;
			z-index:33;box-shadow:0px 0px 14px #000;
			border:2px solid #DDD}
		.Menu ul li {list-style-type:none;COLOR:#445605;
			line-height:35px;text-indext:25px;font-family:"微软雅黑";
			border-bottom:1px solid #ddd;
			text-align:center;
			}
		.Menu ul li:hover{
			background:#ABDE6D;color:#6D2EC5;cursor:hand;
		}
		#desk_list{width:100%;height:700px;position:relative;}
		#desk_list .desk{width:274px;height:261px;
			/*border:1px solid #000*/;position:absolute;
			cursor: move;}
		#desk_list .desk .desk_con{
			text-indent:2em;
			width: 147px;
			height: 115px;
			background: none repeat scroll 0% 0% #FFF;
			margin: 90px auto;
			box-shadow:0px 0px 2px rgba(0,0,0,0.5);
			cursor:move}
		#desk_list .desk p {
			display:block;
			position:absolute;
			bottom:30px;
			text-indent:0em;/*border:1px solid #000;*/
			display:block;
			width: 147px;
			height: 25px;
			text-align:center;
			font-size:12px;
			}
		#desk_list .desk p span{
			color:red;
			padding:0px 5px;
			font-size:14px;
			font-family:"Arial";
		}
	</style>
 </HEAD>

 <BODY>
  <div class="Menu">
	<ul>
		<li style="cursor:hand"><a>新建文件夹</a></li>
		<li class="hover" style="cursor:hand"><a>添加便签</a></li>
		<li style="cursor:hand"><a>清除便签</a></li>
		<li style="cursor:hand"><a>刷新</a></li>
		<li style="cursor:hand"><a>上传资料</a></li>
		<li style="cursor:hand"><a>更换背景</a></li>
		<li style="cursor:hand"><a>注销</a></li>
	</ul>
  </div>
  <div id= "desk_list">
	<!--<div class="desk" style="background:url(imges/Note.png);
		top:20px;left:50px;" >
		<div class="desk_con" contenteditable='true'>

		<div>
		<p><span>3</span>秒后保存</p>
	</div>
	-->
   </div>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">

		document.oncontextmenu=function(){return false;}
		//当按下鼠标右键时,把菜单拉出来

		$(document).mousedown(function(e){
			var key = e.which;//当1左键,2 中间滑轮 3右键
			var x = e.clientX;
			var y = e.clientY;
			if(key==3){
				$(".Menu").css({left:x,top:y}).show();
			}
		});
		$(document).click(function(){
			$(".Menu").hide();// alert("输入的数据不符合");
		});
		//单击便签,加载
		var desk_index = -1;
		$(".Menu ul li").click(function(){
			var _index = $(this).index();
			alert(_index);
			if(_index==1){
				if(localStorage.getItem("deskindex")){
					desk_index=Math.floor(localStorage.getItem("deskindex")) ;
				    alert("得到"+desk_index);
				}
			var l = $(".Menu").offset().left;
			var t = $(".Menu").offset().top;
			$("#desk_list").append(
			"<div class='desk' style=' width:100px height:100px ; border:2px solid #000 ;background:url(imges/Note"+sjNum()+".png);top:"+t+"px;left:"+l+"px;' ><div class='desk_con'  onmousedown = init(this) contenteditable='true'> <div><p><span>3</span>秒后保存</p></div>");
			desk_index++;
			localStorage.setItem("deskindex",desk_index);
			alert("创建"+desk_index);
			autoSave(desk_index);
			}else if(_index==2){
				//清空便签
				if (localStorage.getItem("deskArry")){
					localStorage.clear("deskArry");//清空列表标签
					localStorage.clear("deskindex");
					localStorage.clear();
					desk_index=-1;
					$("#desk_list").find(".desk").remove();
				}
			}
		});
		function sjNum(){
			return Math.floor((Math.random()*100*33)%4+1);
		}
		//利用Html5数据存储,来完成自动保存效果
		function autoSave( msindex){
			var count = 4;
			var  clearTime = null;
			clearTime=setInterval(function(){
				count--;
				if(count<=0){
					localStorage.setItem("deskArry",$("#desk_list").html());
					clearInterval(clearTime);//清除定时器
				}
				$(".desk").eq(msindex).find("p span").text(count);
				//alert(count);
			},1000);alert("这是"+msindex);
		}
		$(function(){
			var _deskArry = localStorage ("deskArry");
			if(_deskArry) {
				$("#desk_list").append(_deskArry);
			}
		});
		/*var left = 0 , top = 0 ,xleft = 0 ,ytop = 0;
		var isOver = false;
		var zindex = 3 ;
		function init(titleDom) {
			//alert("tu");
			var thisDom = titleDom;//获取当前的title
			var parentDom = thisDom.parentNode;//获取title的对应的div
			titleDom.onmousedown = function(event){
				var e = event || window.event;//为了兼容火狐
				xleft = e.clientX;
				ytop = e.clientY;
				left = parseInt(parentDom.offsetLeft);//浏览器左边的位置
				top =e.clientY//浏览器上边的位置

				isOver = true;
				zindex++;
				parentDom.style.zindex = zindex;
				document.onmousemove = function(event){
					if(isOver){
						var e = event || window.event;//为了兼容ie火狐
						var newLeft = left + e.clientX - xleft ;//新的左边距
						var newTop = e.clientY ;
						//alert(" left:"+newLeft+" top:"+newTop );
						parentDom.style.left = newLeft + "px";
						parentDom.style.top = newTop + "px";
					}
				};
				document.onmouseup = function(event){
					if (isOver)
					{
						isOver = false;
					}
				};
			};

		};*/
	</script>
	</script>
 </BODY>
</HTML>
</span></strong>

时间: 2024-10-24 15:38:28

js+jquery实现html5的后台缓存书签效果的相关文章

js,jQuery获取html5的data-*属性

今天做项目的时候发现一个坑,关于jQuery获取data-*属性的方法data(),特写此篇来记录. data-*自定义数据属性 HTML5规定可以为元素添加非标准型的属性,只需添加前缀data-,这些属性可以随意添加,随意命名,目的是为元素提供与渲染无关的信息,或提供语义信息. js获取data-*的方式 通过dataset属性访问 //HTML代码 <div id="myDiv" data-appid="123" data-myname="lsx

JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记1

技术非常多.样例非常多,仅仅好慢慢学,慢慢实践.!如今学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] 第 3 章 用 JavaScript 实现的照片展示 构建软件设计的方法有两种:一种是把软件做得非常easy以至于明显找不到缺陷.还有一种是把它 做得非常复杂以至于找不到明显的缺陷. --C.A.R.Hoare,1980 年图灵奖获得者 在这个自拍自恋的时代,照片是要展示的.在前面的章节里已经解说了事件的绑定.本章主要利用前

JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3

技术非常多,样例非常多.仅仅好慢慢学,慢慢实践!!如今学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] JavaScript.jQuery.HTML5.Node.js实例大全-读书笔记2 3.3 响应鼠标动作 图3-2的效果已经有了,须要鼠标来操作展示想看的照片.这就须要在对应的地方加上事件. 3.3.1 响应小照片单击动作 在3.2.3的代码里提供了显示小图列表的eg.showThumb()方法.在单击小图片时要显示大图片.

JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记2

技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] JavaScript.jQuery.HTML5.Node.js实例大全-读书笔记1 3.2 照片加载与定位 根据功能设计,可以先写好 HTML 结构基础,再配好 CSS 做出大致效果,最后用 JavaScript加上各种动作.首先请看 HTML 代码结构. 3.2.1 HTML 代码 CSS代码保存到 eg3.css 文件中,Ja

前台JS(Jquery)调用后台方法 无刷新级联菜单示例

前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 http://www.dtan.so CasMenu.aspx页面: [html] view plaincopyprint? <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_De

征服大前端视频教程第一季(jQuery、HTML5、CSS3、Node.js)

征服大前端视频教程第一季(jQuery.HTML5.CSS3.Node.js.AngularJS.MongoDB)网盘地址:https://pan.baidu.com/s/1-dbJMOa1RrQzcMY2pBw1hw 密码: xi2c备用地址(腾讯微云):https://share.weiyun.com/5ynLsD5 密码:nhdtxq 本系列课程第一季专注于WEB前端工程师必备技能H5.C3.JS.jQuery和拓展技能Node.js.AngularJS.MongoDB等技术的实战训练,囊

js的动态加载、缓存、更新以及复用(二)

上一篇发出来后得到了很多回复,在此首先感谢大家的热情捧场!有的推荐第三方框架,比如 In.js.requrieJS.sea.js.lab.js等.这个开阔了眼界,以前只知道sea.js,省去了自己搜索的麻烦.也用了点时间简单看了一下,因为每一个都是大块头,都有自己的理念,如果只是简单使用的话,那么谁便找一个就可以了,但是我习惯把原理弄清楚.因为我觉得虽然不知道原理也可以使用,但是知道了原理后,可以用的更好. 主要看的是sea.js,目前简单的理解是:一个加载js的机制 + 模块化编程(CMD规范

js的动态加载、缓存、更新以及复用(一)

使用范围: OA.MIS.ERP等信息管理类的项目,暂时不考虑网站. 遇到的问题: 完成一个项目,往往需要引用很多js文件,比如jQuery.js.easyUI等.还有自己写的一些列js文件,那么这些文件如何方便的加载,如果文件有变化如何才能让客户端及时更新缓存?如果能够提高点运行效率,那就更好了. 目标: 1.  可以方便的引用js文件. 2.  尽量使用各种缓存,避免频繁从服务器读取文件. 3.  如果js文件有更新或者增加.减少几个减少js文件,需要客户端能够自动.立刻更新. 4.  Js

js/jquery 实时监听输入框值变化的完美方案:oninput &amp; onpropertychange

本文转载于 http://blog.163.com/lgh_2002/blog/static/44017526201341511112874/ Jquery绑定事件(bind和live的区别) js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange 2013-05-15 11:01:12|  分类: jquery/javascrip |