87,914
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<table border="1" id="tab1" width="400">
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<tr>
<td>1111</td>
<td>2222</td>
<td>3333</td>
</tr>
<tr>
<td>11111</td>
<td>22222</td>
<td>33333</td>
</tr>
<tr>
<td>111111</td>
<td>222222</td>
<td>333333</td>
</tr>
</table>
<table border="1" id="tab2" width="400">
<tbody>
<tr>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
</tr>
<tr>
<td>aaaa</td>
<td>bbbb</td>
<td>cccc</td>
</tr>
<tr>
<td>aaaaa</td>
<td>bbbbb</td>
<td>ccccc</td>
</tr>
<tr>
<td>aaaaaa</td>
<td>bbbbbb</td>
<td>cccccc</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
var floatDiv = null;
var floatRow = null;
var oft = null;
function $(id)
{
return document.getElementById(id);
}
function $c(tag,ct)
{
var el = document.createElement(tag);
if(ct)
ct.appendChild(el);
return el;
}
//取得节点位置
function getDomOffset(el)
{
for(var lx=0,ly=0;el!=null; el=el.offsetParent)
{
lx+=el.offsetLeft;
ly+=el.offsetTop;
}
return {x:lx,y:ly}
}
//取得节点矩形大小,不是很精确,不过差不多可以用了
function getRect(el)
{
var pos = getDomOffset(el);
return {
x:pos.x,
y:pos.y,
cx:el.clientWidth,
cy:el.clientHeight
}
}
//鼠标是否在矩形内
function ptInRect(pt,rect)
{
return pt.x>rect.x && pt.x<rect.x+rect.cx && pt.y>rect.y && pt.y<rect.y+rect.cy;
}
//取得鼠标位置
function getMouse(ev)
{
if(ev.pageX || ev.pageY)
{
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
//鼠标按下事件处理函数
function down()
{
var evt = window.event || arguments[0];
var el = evt.srcElement || evt.target;
if( el.tagName.toLowerCase() != "td" )
return;
floatRow = el.parentNode;
var pos = getDomOffset(floatRow);
var mouse = getMouse(evt);
oft = {
x:mouse.x - pos.x,
y:mouse.y - pos.y
};
floatDiv = $c("div",document.body);
floatDiv.style.width = floatRow.clientWidth + "px";
floatDiv.style.height = floatRow.clientHeight + "px";
floatDiv.style.border = "dotted 2px #b45";
floatDiv.style.left = pos.x + "px";
floatDiv.style.top = pos.y + "px";
floatDiv.style.position = "absolute";
}
//鼠标抬起事件处理函数
function up()
{
if(floatDiv)
{
document.body.removeChild(floatDiv);
floatDiv = null;
}
var evt = window.event || arguments[0];
var rect = getRect( $("tab2") );
var mouse = getMouse(evt);
if( ptInRect(mouse,rect) )
{
//要第一个表格那里,选中的行不消失,就用下面这语句
//$("tab2").tBodies[0].appendChild( floatRow.cloneNode(true) );
//下面的语句会删除第一个表格中的行
$("tab2").tBodies[0].appendChild( floatRow );
}
}
//鼠标移动事件处理函数
function move()
{
if(floatDiv)
{
var evt = window.event || arguments[0];
var pos = getMouse(evt);
floatDiv.style.left = pos.x - oft.x + "px";
floatDiv.style.top = pos.y - oft.y + "px";
}
}
window.onload = function()
{
document.body.onmousedown = down;
document.body.onmouseup = up;
document.body.onmousemove = move;
}
</script>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JK:支持民族工业,尽量少买X货</title>
<style>
.removableObj
{
height:25;position:relative;
}
</style>
<script language="javascript">
var beginMoving=false;
var sourceObj=null;
var objectObj=null;
var objectObj2=null;
function MouseDownToMove(obj){
obj.style.zIndex=1;
obj.mouseDownY=event.clientY;
obj.mouseDownX=event.clientX;
beginMoving=true;
obj.setCapture();
sourceObj=obj;
objectObj=null;
}
function MouseMoveToMove(obj){
if(!beginMoving) return false;
obj.style.top = (event.clientY-obj.mouseDownY);
obj.style.left = (event.clientX-obj.mouseDownX);
}
function MouseUpToMove(obj){
if(!beginMoving) return false;
obj.releaseCapture();
obj.style.top=0;
obj.style.left=0;
obj.style.zIndex=0;
beginMoving=false;
window.setTimeout("swapFun()",20);
}
function MouseOverFun(obj)
{
if(obj==sourceObj) return false;
objectObj=obj;
}
function MouseOverFun2(obj)
{
objectObj2=obj;
}
function swapFun() {
//if (objectObj == null) return false;
if (sourceObj == objectObj2) {
sourceObj = null;
objectObj = null;
objectObj2 = null;
beginMoving = false;
}
if(sourceObj!=null && objectObj!=null) objectObj.parentNode.insertAdjacentElement("beforeBegin",sourceObj);
else if (sourceObj != null && objectObj2 != null) objectObj2.parentNode.insertAdjacentElement("beforeEnd", sourceObj);
sourceObj=null;
objectObj=null;
objectObj2 = null;
beginMoving = false;
}
</script>
</head>
<body>
<table border="1" width="40%" bgcolor="#99CCFF" align='left' >
<tr onmouseover='MouseOverFun2(this);' class='removableObj' onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="23%">和</td>
<td width="21%">飞过海</td>
</tr>
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="23%"> </td>
<td width="21%"> </td>
</tr>
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="23%">和1</td>
<td width="21%">飞过海1</td>
</tr>
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="23%">A </td>
<td width="21%">B </td>
</tr>
</table>
<table border="1" width="40%" bgcolor="#FF9966" >
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="21%">还是</td>
<td width="35%">护身符哈</td>
<td width="21%"> </td>
<td width="23%">呵呵</td>
</tr>
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="21%">,</td>
<td width="35%">和是是护</td>
<td width="21%"> </td>
<td width="23%">和</td>
</tr>
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="21%">还是1111</td>
<td width="35%">护身符哈sfds</td>
<td width="21%"> fsdafsaf1`</td>
<td width="23%">呵呵32edfdsfdsaf</td>
</tr>
<tr onmouseover="MouseOverFun2(this);" class="removableObj" onmousedown='MouseDownToMove(this)' onmousemove='MouseMoveToMove(this)' onmouseup='MouseUpToMove(this);' onmouseover="MouseOverFun(this);" >
<td width="21%">213ewfdsfc,</td>
<td width="35%">和是是护fdsafdsaf</td>
<td width="21%"> fdsafdasf</td>
<td width="23%">和fdsafdds</td>
</tr>
</table>
</body>
</html>
function down()
{
var evt = window.event || arguments[0];
var el = evt.srcElement || evt.target;
if( el.tagName.toLowerCase() != "td" )
return;
floatRow = el.parentNode;
var pos = getDomOffset(floatRow);
var mouse = getMouse(evt);
oft = {
x:mouse.x - pos.x,
y:mouse.y - pos.y
};
floatDiv = $c("div",document.body);
//floatDiv.style.width = floatRow.clientWidth + "px";
//floatDiv.style.height = floatRow.clientHeight + "px";
//floatDiv.style.border = "dotted 2px #b45";
floatDiv.style.left = pos.x + "px";
floatDiv.style.top = pos.y + "px";
floatDiv.style.position = "absolute";
var tab = $("tab1").cloneNode(false);
var tbd = $c("tbody",tab);
tbd.appendChild(floatRow.cloneNode(true));
floatDiv.appendChild(tab);//在up里,你要愿意,就把floatDiv清空一下,不清空也不会出错
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<table border="1" id="tab1" width="400">
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<tr>
<td>1111</td>
<td>2222</td>
<td>3333</td>
</tr>
<tr>
<td>11111</td>
<td>22222</td>
<td>33333</td>
</tr>
<tr>
<td>111111</td>
<td>222222</td>
<td>333333</td>
</tr>
</table>
<table border="1" id="tab2" width="400">
<tbody>
<tr>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
</tr>
<tr>
<td>aaaa</td>
<td>bbbb</td>
<td>cccc</td>
</tr>
<tr>
<td>aaaaa</td>
<td>bbbbb</td>
<td>ccccc</td>
</tr>
<tr>
<td>aaaaaa</td>
<td>bbbbbb</td>
<td>cccccc</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
var floatDiv = null;
var floatRow = null;
var oft = null;
function $(id){
return document.getElementById(id);
}
function $c(tag, ct){
var el = document.createElement(tag);
if (ct)
ct.appendChild(el);
return el;
}
//取得节点位置
function getDomOffset(el){
for (var lx = 0, ly = 0; el != null; el = el.offsetParent) {
lx += el.offsetLeft;
ly += el.offsetTop;
}
return {
x: lx,
y: ly
}
}
//取得节点矩形大小,不是很精确,不过差不多可以用了
function getRect(el){
var pos = getDomOffset(el);
return {
x: pos.x,
y: pos.y,
cx: el.clientWidth,
cy: el.clientHeight
}
}
//鼠标是否在矩形内
function ptInRect(pt, rect){
return pt.x > rect.x && pt.x < rect.x + rect.cx && pt.y > rect.y && pt.y < rect.y + rect.cy;
}
//取得鼠标位置
function getMouse(ev){
if (ev.pageX || ev.pageY) {
return {
x: ev.pageX,
y: ev.pageY
};
}
return {
x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y: ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
//鼠标按下事件处理函数
function down(){
var evt = window.event || arguments[0];
var el = evt.srcElement || evt.target;
if (el.tagName.toLowerCase() != "td")
return;
floatRow = el.parentNode;
var pos = getDomOffset(floatRow);
var mouse = getMouse(evt);
oft = {
x: mouse.x - pos.x,
y: mouse.y - pos.y
};
floatDiv = $c("div", document.body);
floatDiv.style.width = floatRow.clientWidth + "px";
floatDiv.style.height = floatRow.clientHeight + "px";
floatDiv.style.border = "dotted 2px #b45";
floatDiv.style.left = pos.x + "px";
floatDiv.style.top = pos.y + "px";
floatDiv.style.position = "absolute";
var str = '<table border="1" id="tab1" width="400">';
str += floatRow.outerHTML;
str += '</table>';
floatDiv.innerHTML = str;
}
//鼠标抬起事件处理函数
function up(){
if (floatDiv) {
document.body.removeChild(floatDiv);
floatDiv = null;
}
var evt = window.event || arguments[0];
var rect = getRect($("tab2"));
var mouse = getMouse(evt);
if (ptInRect(mouse, rect)) {
//要第一个表格那里,选中的行不消失,就用下面这语句
//$("tab2").tBodies[0].appendChild( floatRow.cloneNode(true) );
//下面的语句会删除第一个表格中的行
$("tab2").tBodies[0].appendChild(floatRow);
}
}
//鼠标移动事件处理函数
function move(){
if (floatDiv) {
var evt = window.event || arguments[0];
var pos = getMouse(evt);
floatDiv.style.left = pos.x - oft.x + "px";
floatDiv.style.top = pos.y - oft.y + "px";
}
}
window.onload = function(){
document.body.onmousedown = down;
document.body.onmouseup = up;
document.body.onmousemove = move;
}
</script>
</body>
</html>
wwwwwwww
22222
* 把div和p标签设置成相同的样式,把不同的标签设置成相同的样式 * div,p { background-color: orange; } (3)伪元素选择器(了解,浏览器的兼容性比较差) * css里面提供了一些定义好的样式,可以拿过来使用 * 比如超链接 ** 超链接的状态 原始状态 鼠标放上去状态 点击 点击之后 :link :hover :active :visited ** 记忆的方法 lv ha 5、css的盒子模型 ** 在进行布局前需要把数据封装到一块一块的区域内(div) (1)边框 border: 2px solid blue; border:统一设置 上 border-top 下 border-bottom 左 border-left 右 border-right (2)内边距 padding:20px; 使用padding统一设置 也可以分别设置 上下左右四个内边距 (3)外边距 margin: 20px; 可以使用margin统一设置 也可以分别设置 上下左右四个外边距 6、css的布局的漂浮(了解) float: ** 属性值 left : 文本流向对象的右边 right : 文本流向对象的左边 7、css的布局的定位(了解) position: ** 属性值 - absolute : *** 将对象从文档流中拖出 *** 可以是top、bottom等属性进行定位 - relative : *** 不会把对象从文档流中拖出 *** 可以使用top、bottom等属性进行定位 8、案例 图文混排案例 ** 图片和文字在一起显示 9、案例 图像签名 ** 在图片上面显示文字 10、上午内容总结 1、css和html的四种结合方式(****) 2、css的基本选择器(****) * 标签选择器 使用标签名 * class选择器 .名称 * id选择器 #名称 ** 优先级 style > id > class > 标签 3、css的扩展选择器(了解) * 关联选择器 - 设置嵌套标签的样式 div p {} * 组合选择器 - 不同的标签具有相同的样式 div,p{} * 伪元素选择器 * 超链接的状态 - 原始 :link - 悬停 :hover - 点击 :active - 点击之后 :visited 4、盒子模型(了解) * 边框 border:2px solid red; 上下左右 border-top border-bottom border-left border-right * 内边距 padding:20px 上下左右 * 外边距 margin:20px 上下左右 * 对数据进行操作,需要把数据放到一个区域里面(div) 5、布局的漂浮(了解) float - left: 后面的div到右边 - right:后面的div到左边 6、布局的定位(了解) position - absolute ** 从文档流中拖出 - relative ** 不会从文档流中拖出 一般在目录里面,标出符号 (********):重点,代码看懂,代码会写,代码理解 - (****重点中的重点***) (了解):代码看懂 (理解):能够把原理讲清楚