D3拖动效果

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="file:///G|/1/js/d3.js" type="text/javascript" charset="utf-8"></script>
		<style>
			* {
				margin: 0px;
				padding: 0px;
			}

			body {
				background: rgb(0, 18, 22);
			}

			#header {
				color: rgb(21, 172, 216);
				width: 100%;
				height: 50px;
			}

			#main {
				position: absolute;
				height: 350px;
				width: 65px;
				color: rgb(21, 172, 216);
				font-family: "微软雅黑";
			}

			button {
				background: rgb(163, 144, 15);
				border: none;
				border-radius: 5px;
				width: 100px;
				height: 30px;
			}

			.color {
				background: rgb(9, 84, 106);
				color: black;
				border-radius: 5px 0px 0px 5px;
			}

			.color:hover {
				background: rgb(21, 172, 216);
				color: black;
			}

			#main,
			#shuxing {
				display: inline;
				float: left;
			}

			#shuxing {
				background: rgb(9, 84, 106);
				position: absolute;
				border: 1px solid white;
				width: 80%;
				height: 350px;
				left: 65px;
				color: black;
			}

			#mid {
				position: absolute;
				width: 100%;
				height: 50px;
				color: rgb(21, 172, 216);
				top: 410px;
			}

			#shuju {
				position: absolute;
				top: 460px;
				width: 100%;
				color: rgb(21, 172, 216);
			}

			#im,
			#tab {
				display: inline;
				float: left;
			}

			th {
				border: 1px solid yellow;
				height: 38px;
				width: 110px;
			}

			.tablediv {
				height: 100%;
				width: 100%;
			}

			.inputsty {
				height: 100%;
				border: none;
				width: 100%;
				background: rgb(0, 18, 22);
				color: rgb(21, 172, 216);
				text-align: center;
			}

			td {
				height: 38px;
				border: 1px solid rgb(21, 172, 216);
				width: 110px;
				background: rgb(0, 18, 22);
				color: rgb(21, 172, 216);
				text-align: center;
			}
			.spansty{
				margin-top: 10px;
				margin-left: 10px;
				display: block;
				display: inline;
				float: left;
				width: 100px;
				height: 40px;
				background: url(file:///G|/1/img/spanbg1.png);
				text-align: center;
			}
		</style>
	</head>

	<body>
		<div id="header">
			<h1>结构定义</h1>
		</div>
		<div>

			<div id="main">
				<a><span class="color">人物属性</span></a><br /><br />
				<a><span class="color">虚拟属性</span></a><br /><br />
				<a><span class="color">社会属性</span></a>

			</div>
			<div id="shuxing">
				<span draggable="true" class="spansty">姓名<br/>name</span>
				<span draggable="true" class="spansty">年龄<br/>age</span>
				<span draggable="true" class="spansty">性别<br/>sex</span>
			</div>
		</div>
		<div id="mid">
			<span style="font-weight: bold;font-size: 2em;">样本数据</span> <span style="color: red;"></span>
		</div>
		<div id="shuju">
			<div id="im">
				<img src="file:///G|/1/img/ziduan.png" style="margin-left: 0px; margin-top: 10px;" /><br />
				<img src="file:///G|/1/img/ziduanname.png" style="margin-left: 0px; margin-top: 10px;" /><br />
				<img src="file:///G|/1/img/yangben.png" style="margin-left: -4px; margin-top: 10px;" />
			</div>
			<div id="tab">
				<table border="0px ">
					<tr>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
						<th>
							<input class="inputsty" type="text" value="" />
						</th>
					</tr>
					<tr>
						<td><input class="inputsty" type="text" value="orderno" /></td>
						<td><input class="inputsty" type="text" value="sendname" /></td>
						<td><input class="inputsty" type="text" value="sendphone" /></td>
						<td><input class="inputsty" type="text" value="sendadress" /></td>
						<td><input class="inputsty" type="text" value="recvname" /></td>
						<td><input class="inputsty" type="text" value="orderno" /></td>
						<td><input class="inputsty" type="text" value="recvphone" /></td>
						<td><input class="inputsty" type="text" value="srtime" /></td>
					</tr>
					<tr>
						<td>No18</td>
						<td>张三</td>
						<td>1308</td>
						<td>山东济南历区</td>
						<td>李四</td>
						<td>1308</td>
						<td>济南高新区</td>
						<td>2016-7-20</td>
					</tr>
				</table>
				<button><img src="file:///G|/1/img/but.png"/></button>
			</div>

		</div>
	</body>

	<script>
		//获取目标元素
		var target = document.querySelectorAll(‘th input‘);
		var ta = document.querySelectorAll(‘td input‘);
		//获取需要拖放的元素
		var dragElements = document.querySelectorAll(‘#shuxing span‘);
		//临时记录被拖放的元素
		var elementDragged = null;
		//循环监听被拖放元素的开始拖放和结束拖放事件
		for(var i = 0; i < dragElements.length; i++) {
			//开始拖放事件监听
			dragElements[i].addEventListener(‘dragstart‘, function(e) {
				//设置当前拖放元素的数据参数
				e.dataTransfer.setData(‘text‘, this.innerHTML);
				//保存当前拖放对象
				elementDragged = this;
			});
			//结束拖放事件监听
			dragElements[i].addEventListener(‘dragend‘, function(e) {
				//注销当前拖放对象
				elementDragged = null;
			});
		}
		for(var i = 0; i < target.length; i++) {

			target[i].addEventListener(‘dragover‘, function(e) {
				//阻止浏览器默认行为
				e.preventDefault();
				//设置鼠标样式
				e.dataTransfer.dropEffect = ‘move‘;
				return false;
			});
			target[i].addEventListener(‘drop‘, function(e) {
				//阻止默认行为
				e.preventDefault();
				//阻止默认行为
				e.stopPropagation();
				//获取当前被拖放元素的存放数据参数
				da=e.dataTransfer.getData(‘text‘).substring(0,e.dataTransfer.getData(‘text‘).indexOf(‘<‘));
				this.value = da;
				//删除被拖放元素     "<img src="+e.dataTransfer.getData(‘text‘)+"/>"
				for(var i = 0; i < target.length; i++) {
					if(target[i].value == "姓名") {
						ta[i].value = "name";
					} if(target[i].value == "年龄") {
						ta[i].value = "age";
					} if(target[i].value == "性别") {
						ta[i].value = "sex";
					}
				}
				return false;

			});

		}
	</script>

</html>

  

时间: 2024-08-08 17:53:08

D3拖动效果的相关文章

使用jquery实现简单的拖动效果,分享源码

因为想实现相框的拖到,找了半天的原因愣是没有找到错误,所以,只能翻看源码了 如何实现拖动效果? 浏览DEMO 首先分析下拖动效果原理: 1.当鼠标在被拖动对象上按下鼠标(触发onmousedown事件,且鼠标在对象上方) 2.开始移动鼠标(触发onmousemove事件) 3.移动时更显对象的top和left值 4.鼠标放开停止拖动(触发onmouseup事件) 注意:拖动的对象必须是定位对象(即设置了position:absolute或 relative). 也就是说拖动事件=onmoused

简单的鼠标拖动效果

使用js实现简单的鼠标拖动效果,但此部分代码有个小小的BUG,后期改进好我会写进来,但基本的效果已经实现,请大家参考. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标移动</title> <style> #box{ width: 50px; height: 50px; position:

js实现的div拖动效果实例代码

js实现的div拖动效果实例代码:div的拖动效果在很多效果中都有应用,当然还有很多附加的功能,本章节只是给拖动效果,并介绍一下它的实现过程.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <t

Web的鼠标拖动效果

以前写过一个拖动效果的Demo,拖拽元素新位置的计算是放在拖拽元素的mousemove事件中进行的.计算效率差,而且效果不好.所以一直有想怎样才能做出jquery-ui那种顺滑的拖拽效果. 其实顺滑的拖拽效果的突破口有两点: 事件捕捉要去捕捉document的鼠标位置. 使用setInterval功能计算拖拽元素的新位置. 使用jQuery,经过一些简单的重构和调试,将代码完善如下: drag.html <!DOCTYPE html> <html> <head> <

运用HTML5原生拖动事件(drag)实现拖动效果

拖动效果相信很多朋友都自己写过,不管你用原生JS还是Jquery要实现起来也很简单,但是今天我想介绍的是运用HTML5标准中定义的原生拖动事件实现拖动效果. 一.背景: 其实说是HTML5标准定义,其实最早在IE4中就有拖放功能的API,只是在IE4中,网页中只有两种对象可以拖放:图像和某些文本.并且在IE4中唯一有效的放置目标是文本框.到了IE5.5,拖放功能得到了扩展,让网页中的任何元素都可以拖放.最终HTML5以IE的实力为基础制定了拖放规范.FF3.5+,Safari3+和Chrome根

Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源代码

在android学习中,动作交互是软件中重要的一部分.当中的Scroller就是提供了拖动效果的类,在网上.比方说一些Launcher实现滑屏都能够通过这个类去实现.以下要说的就是上次Scroller类学习的后的实践了. 假设你还不了解Scroller类,那请先点击:Android 界面滑动实现---Scroller类 从源代码和开发文档中学习(让你的布局动起来) 了解之后再阅读下面内容.你会发现原来实现起来非常easy. 之前说到过.在广泛使用的側边滑动导航开源库 --SlidingLayer

安卓触摸事件的分发,处理和消费,以及实现图片的拖动效果

Touch事件分发中只有两个主角:ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理. View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析. ViewGroup的相关事件有三个:onInterceptTouchEvent.dispatchTouchEvent.onTouchEvent.View的相关事件只有两个:

vc++ mfc中拖动效果的实现 借助于CImageList

拖动是界面编程频繁使用的一个效果,在windows系统下可谓大行其道.纵观时下的应用软件几乎各个都支持各种各样拖动的效果,windows7更是把拖动做到了极致.其实说起来拖动的实现也很简单,对于有句柄的对象都可以通过MoveWindow或SetWindowPos实现位置变动,而没有句柄的对象实现拖动无非就是做些参数修改,说到底实现拖动就是在OnLButtonDown.OnMouseMove和OnLButtonUp中处理数据,当然你可以使用鼠标右键甚至中建消息来实现,基本原理是一样的.     

js 实现win7任务栏拖动效果

前言 在某个时刻, 我认识了一个朋友. 此人在我的教唆下, 踏上了js的不归路. 前天他问我, Win7任务栏拖动效果怎么实现. 我随口就跟他说, 这简单的一逼. 在我一晚上的折腾之后, 一份潦草的代码总算实现了功能. PS: 我是搞C++的, js略懂一二.. 源码 话不多说, 上源码. 1 // 常量 2 var CELL_WIDTH = 100; 3 var CELL_HEIGHT = 50; 4 5 var Utils = { 6 pixelToInt: function(str) 7