天易13----jquery实现简单的可拖动的弹出层效果

一:图片预览

1)层默认是隐藏的,当点击“点击”按钮时会出现效果

2)在此之前分别倒入jquery-1.4.4.min.js和jquery.easydrag.handler.beta2.js(用于拖动层)两个文件

3)图片:


二:代码片段:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
<script type="text/javascript" src="<%=basePath %>js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<%=basePath %>js/jquery.easydrag.handler.beta2.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
	$('input:button:[id="bt"]').click(function(){
		//alert("弹出对话框!");
		//$('.box').show();
		//展现层
		$('div:[id="box"]').show();
		});
		//隐藏层
		$('span').click(function(){
		$('div:[id="box"]').hide();
		});
		
		$('.box').easydrag();
	});
	
</script> 
<style type="text/css">
*{padding:0;margin:0;}
body {font-size:12px;padding:100px;}
.box_all{float:left;padding:5px;background:#eee;postion:absolute;top:20%;left:20%;display:none;}
.box {width:300px;height:300px;border:1px solid #4c7ebd;display:none;}
.box h1 {height:30px;line-height:30px;font-size:12px;background:#87b0e1;padding-left:10px;color:#fff}
.box h1 span {float:right;padding-right:10px;cursor:pointer;}
.box p {padding:10px;height:300px;backgound:#fff;border:3px solid #eee;}

</style>
  </head>
  <body>
    <input type="button" id="bt" value="点击">
    <div class="box" id="box">
    	<h1><span>关闭</span>这是标题</h1>
    	<p>这是内容</p>
    </div>
   
  </body>
</html>


用法: $(“#box”).easydrag();//给指定的标签绑定拖动效果,也可以是Class $(“#box”).setHandler(‘handler’);//指定触发拖动的元素,download best apps for iphone 5handler是该元素的idhttp://www.newipadipa.com/ ,后面我们需要修改它 首先这个插件真的很好用(废话),短短2行代码就能让页面中的div动起来。但是如果要拖动很多div的时候 ,我们还是要稍微做出修改才能正常使用。 首先我的窗div在出的时候是默认在页面正中的,但是要使用这个插件被拖动的div就要使 用”position:absolute”的属性定位,这让我们的居中非常困难。解决思路:在触发窗之前用js获取当前屏 幕的分辨率然后将div居中。 js代码: { var div_width=Number(jQuery(‘#box’).css(‘width’)); var sc_width=(Number(window.screen.width)/2-(div_width/2)); //div距离浏览器左边框的距离为屏幕宽 度的一半-div宽度的一半 jQuery(‘#box).css(‘left’,sc_width); } 好了,初始化之后就是拖动了,如果需要拖动的div不多的话这样就可以了。但是我写的页面要拖动的div较多 ,而且这个插件只能用id号给元素绑定触发拖动的属性,如果一个id一个id的绑定事件的话会造成代码冗余 。所以我们要修改一下源文件jquery.easydrag.handler.beta2.js:找到 function(handlerId) 这个函数, 将里面的$(“#”+handlerId)都改成$(“.”+handlerId)就可以了。好吧,这样就可以了,下面是实例,高手们请 无视好了。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值