zoukankan      html  css  js  c++  java
  • 左右布局,中分线可以左右拖动

    cursor有很多形状

    在中线附近变为向左 向右鼠标,通过mousemove来实现,要不断地计算。

    通过jquery实现,比较简单一些,用原生的js太复杂了。

    <!DOCTYPE html>
    <html>
      <head>
        <title>bar index</title>
        <style>
      	.con{
        	1000px;
        	border:1px solid black;
        	height:100px; 
        }
        .right{
        	70%;
        	height:100px; 
        	float:left;
        	background:olive; 
        }
    	#keleyi{ 
    		float:left;
    		30%; 
    		height:100px; 
    		background:#f1f1f1; 
    		text-align:center; 
    		line-height:16px; 
    		cursor: default;
    	}	
    	</style>
      </head>
      <body>
        <h1>标题</h1>
        <p>内容</p>
        <div class='con'>
        	<div id="keleyi">
        	</div>    	
        	<div class='right' id='right'></div>
        </div>
        <script type="text/javascript" src="js/jquery/jquery-2.1.4.js"></script>
    	<script>
    		
    		$(function () {
    			//绑定需要拖拽改变大小的元素对象 
    			bindResize(document.getElementById('kel'+'eyi'));
    		});
    
    		$('#keleyi').unbind().bind('mousemove', function(e){
    			var xPos = e.offsetX;
    			var yPos = e.offsetY;
    
    			var offset = 18;
    
    			if(xPos > ($('#keleyi').offset().left+$('#keleyi').width())-offset){
    				$(this).css('cursor', 'move');
    			}else{
    				$(this).css('cursor', 'default');
    			}
    
    		});	
    		
    		function bindResize(el) {
    			//初始化参数 
    			var els = el.style,
    			//鼠标的 X 和 Y 轴坐标 
    			x = y = 0;
    			//邪恶的食指 
    			$(el).mousedown(function (e) {
    				//按下元素后,计算当前鼠标与对象计算后的坐标 
    				x = e.clientX - el.offsetWidth,
    				y = e.clientY - el.offsetHeight;
    				//在支持 setCapture 做些东东 
    				el.setCapture ? (
    				//捕捉焦点 
    				el.setCapture(),
    				//设置事件 
    				el.onmousemove = function (ev) {
    				mouseMove(ev || event)
    				},
    				el.onmouseup = mouseUp
    				) : (
    				//绑定事件 
    				$(document).bind("mousemove", mouseMove).bind("mouseup", mouseUp)
    				)
    				//防止默认事件发生 
    				e.preventDefault()
    			});
    			//移动事件 
    			function mouseMove(e) {
    				//宇宙超级无敌运算中... 
    				els.width = e.clientX - x + 'px';
    				$('#right').width(1000-(+els.width.replace('px', ''))); 
    			}
    			//停止事件 
    			function mouseUp() {
    				//在支持 releaseCapture 做些东东 
    				el.releaseCapture ? (
    				//释放焦点 
    				el.releaseCapture(),
    				//移除事件 
    				el.onmousemove = el.onmouseup = null
    				) : (
    				//卸载事件 
    				$(document).unbind("mousemove", mouseMove).unbind("mouseup", mouseUp)
    				)
    			}
    		}
    	</script>
      </body>
    </html>
    

      

  • 相关阅读:
    IP地址、手机归属和身份证查询接口
    如何用SQL语句给表增加字段? 如何分区视图?
    屏蔽IE的图片工具条,防止图片被轻易保存的一种方法
    转 无依赖Office资源的导入导出
    Asp.Net Winform 条形码系列之Code39 Code39 Of .Net BarCode Serial Blog
    搬家了。。
    POJ 3162 Walking Race(dfs+单调队列)
    HDOJ 4389 X mod f(x) (数位DP)
    POJ 1947 Rebuilding Roads(树DP)
    POJ 1155 TELE(二分+树DP)
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4875084.html
Copyright © 2011-2022 走看看