模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery
<!DOCTYPE html>
<html lang="zh-cn">
<head>
	<meta charset="utf-8">
	<title>分隔栏动态改变div大小—基于jQuery</title>
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
	<meta name="renderer" content="webkit"/>
	<meta name="viewport" content="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no"/>
	<meta name="author" content="wind"/>
	<meta name="robots" content="index,follow"/>
	<meta name="keywords" content=""/>
	<meta name="description" content=""/>
	
	<style>
		*{margin:0;padding:0;}
		ul,ol,li{list-style: none;}
		#hj_wrap{width:1200px;height: 250px;margin:10px auto;clear:both;border:1px solid red;overflow: hidden;}
		#hj_wrap div{width:200px;float: left;height: 250px;padding:10px;background: #0099EE;overflow: hidden;border:0px solid #0099ff;}
		#hj_wrap label{float: left;width: 10px;height: 250px;display:block;cursor: e-resize;}
	</style>
</head>
<body>
    <div id='hj_wrap'>
		<div>左</div>
		<label>1</label>
		<div>中</div>
		<label>2</label>
		<div>右</div>
		<label>3</label>
		<div>右1</div>
		<label>4</label>
		<div>右2</div>
	</div>
<script src="jquery-1.8.0.min.js"></script>
<script>
		$(function(){
			var  leftOffset, inx, nextW2, nextW ,thisObject;
			var dragging  = false;
			var doc 	  = document;
			var labBtn 	  = $("#hj_wrap").find('label');
			var wrapWidth = $("#hj_wrap").width();
			//定义一个对象
			function PointerObject(){
				this.el = null;		
				this.grabx = null;    
				this.left = null;
				this.pointerPosition =0;
				this.clickX =0;
			}
labBtn.bind('mousedown',function(e){
					dragging   = true;
					thisObject = new PointerObject();
					thisObject.el = this;
					thisObject.pointerPosition = $(this).offset().left;
					thisObject.clickX = e.pageX;
				}
			);
doc.onmousemove = function(e){
				if (dragging) {
					if(thisObject != null){
						var changeDistance = 0;
						var nextWidth = $(thisObject.el).next().width();
						var prevWidth = $(thisObject.el).prev().width();
						if(thisObject.clickX>=e.pageX){
							//鼠标向左移动
							changeDistance = Number(thisObject.clickX)-Number(e.pageX);
							if($(thisObject.el).prev().width()-changeDistance<20){
								
							}else{
								$(thisObject.el).prev().width($(thisObject.el).prev().width()-changeDistance);
								$(thisObject.el).next().width($(thisObject.el).next().width()+changeDistance);
								thisObject.pointerPosition = (thisObject.pointerPosition - changeDistance);
								thisObject.clickX=e.pageX;
								$(thisObject.el).offset({left:e.pageX-2});	
							}
							
						}else{
							//鼠标向右移动
							changeDistance = Number(e.pageX)-Number(thisObject.clickX);
							if($(thisObject.el).next().width()-changeDistance<20){
									
							}else{
								$(thisObject.el).prev().width($(thisObject.el).prev().width()+changeDistance);
								$(thisObject.el).next().width($(thisObject.el).next().width()-changeDistance);
								thisObject.pointerPosition = (thisObject.pointerPosition + changeDistance);
								thisObject.clickX=e.pageX;
								$(thisObject.el).offset({left:e.pageX-2});
							}
						}
					}
				}
			};
$(doc).mouseup(function(e) {
				if (thisObject != null) {
			  		thisObject = null;
			 	}
			    dragging = false;
			    e.cancelBubble = true;
			})
		})
	</script>
</div>
</body>
</html>
模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery的更多相关文章
- Android中动态改变控件的大小的一种方法
		
在Android中有时候我们需要动态改变控件的大小.有几种办法可以实现 一是在onMeasure中修改尺寸,二是在onLayout中修改位置和尺寸.这个是可以进行位置修改的,onMeasure不行. ...
 - 动态替换iframe的src及动态改变iframe的高度
		
实现效果:点击左侧右侧内容变化,但左侧保持不变(如折叠等) 动态替换iframe的src <iframe width="100%" frameBorder="0&q ...
 - ios 运行时特征,动态改变控件字体大小
		
需求:ex: 在不同尺寸的iPhone上面显示的字体大小不一样 https://github.com/rentzsch/jrswizzle #import <UIKit/UIKit.h> ...
 - 动态改变Android控件大小
		
Button button = (Button) findViewById(R.id.button2);button.setOnClickListener(myOnClickListener); // ...
 - 转载  * jQuery实现动态分割div—通过拖动分隔栏实现上下、左右动态改变左右、上下两个相邻div的大小
		
由jQuery实现上下.左右动态改变左右.上下两个div的大小,需要自己引入jquery1.8.0.min.js包 可用于页面布局. //============================ind ...
 - jQuery实现动态分割div—通过拖动分隔栏实现上下、左右动态改变左右、上下两个相邻div的大小
		
由jQuery实现上下.左右动态改变左右.上下两个div的大小,需要自己引入jquery1.8.0.min.js包 可用于页面布局. //============================ind ...
 - js动态改变iframe的高度
		
js动态改变iframe的高度的写法 〈iframe id="docDetail" width="100%" height="200" ...
 - Quartz动态改变任务时间
		
基于quartz-2.2 的动态任务调度 Quartz是一个完全由java编写的开源作业调度框架. 调度器 Quartz框架的核心是调度器.调度器负责管理Quartz应用运行时环境.调度器不是靠自己做 ...
 - vue router 修改title(IOS  下动态改变title失效)
		
在ios下app 设置document.title = "titleName" 失效,原因是在IOS webview中网页标题只加载一次,动态改变是无效的. 在路由配置中添加 ...
 
随机推荐
- UIViewController相关知识
			
title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...
 - android 自定义view中findViewById为空的解决办法
			
网上说的都是在super(context, attrs);构造函数这里少加了一个字段, 其实根本不只这一个原因,属于view生命周期的应该知道,如果你在 自定义view的构造函数里面调用findVie ...
 - IOS开发基础知识--碎片44
			
1:App跳转至系统Settings 跳转在IOS8以上跟以下是有区别的,如果是IOS8以上可以如下设置: NSURL *url = [NSURL URLWithString:UIApplicatio ...
 - SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例
			
前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER ...
 - 使用multi-paxos实现日志同步应用
			
paxos 说multi-paxos之前先简要说一下paxos paxos是在多个成员之间对某个值(提议)达成一致的一致性协议.这个值可以是任何东西.比如多个成员之间进行选主,那么这个值就是主的身份. ...
 - Java虚拟机栈
			
Java Virtual Machine Stacks,线程私有,生命周期与线程相同,描述的是Java方法执行的内存模型:每一个方法执行的同时都会创建一个栈帧(Stack Frame),由于存储局部变 ...
 - Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理6
			
接下来先做角色这一板块的(增删改查),首先要新建一个Role控制器,在添加一个RoleList的视图.表格打算采用的是bootstrap的表格. using System; using System. ...
 - 【Linux学习】Linux下用户组、文件权限详解
			
原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...
 - Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(三)
			
八. 构建LFS系统 1. 准备虚拟内核文件系统 内核会挂载几个文件系统用于自己和用户空间程序交换信息.这些文件系统是虚拟的,并不占用实际磁盘空间, 它们的内容会放在内存里. mkdir -pv $L ...
 - 001.mysql安装(lnmp)
			
mysql官方网站:http://dev.mysql.com/downloads/ Linux环境:刚安装的32位的“最小化安装“的CentOS 6.7 mysql版本:本次实验安装的是mysql5. ...