分享
 
 
 

javascript常用代码大全

王朝html/css/js·作者佚名  2008-05-20
窄屏简体版  字體: |||超大  

//打开模式对话框

function doSelectUser(txtId)

{

strFeatures="dialogWidth=500px;dialogHeight=360px;center=yes;

middle=yes ;help=no;status=no;scroll=no";

var url,strReturn;

url="selUser.aspx";

strReturn=window.showModalDialog(url,'',strFeatures);

}

//返回模式对话框的值

function okbtn_onclick()

{

var commstr='';

window.returnValue=commstr;

window.close() ;

}

全屏幕打开 IE 窗口

var winWidth=screen.availWidth ;

var winHeight=screen.availHeight-20;

window.open("main.aspx","surveyWindow","toolbar=no,width="+ winWidth +",height="+ winHeight +",top=0,left=0,scrollbars=yes,resizable=yes,center:yes,statusbars=yes");

break

//脚本中中使用xml

function initialize() {

var xmlDoc

var xslDoc

xmlDoc = new ActiveXObject('Microsoft.XMLDOM')

xmlDoc.async = false;

xslDoc = new ActiveXObject('Microsoft.XMLDOM')

xslDoc.async = false;

xmlDoc.load("tree.xml")

xslDoc.load("tree.xsl")

folderTree.innerHTML = xmlDoc.documentElement.transformNode(xslDoc)

}

一、验证类

1、数字验证内

1.1 整数

1.2 大于0的整数 (用于传来的ID的验证)

1.3 负整数的验证

1.4 整数不能大于iMax

1.5 整数不能小于iMin

2、时间类

2.1 短时间,形如 (13:04:06)

2.2 短日期,形如 (2003-12-05)

2.3 长时间,形如 (2003-12-05 13:04:06)

2.4 只有年和月。形如(2003-05,或者2003-5)

2.5 只有小时和分钟,形如(12:03)

3、表单类

3.1 所有的表单的值都不能为空

3.2 多行文本框的值不能为空。

3.3 多行文本框的值不能超过sMaxStrleng

3.4 多行文本框的值不能少于sMixStrleng

3.5 判断单选框是否选择。

3.6 判断复选框是否选择.

3.7 复选框的全选,多选,全不选,反选

3.8 文件上传过程中判断文件类型

4、字符类

4.1 判断字符全部由a-Z或者是A-Z的字字母组成

4.2 判断字符由字母和数字组成。

4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母

4.4 字符串替换函数.Replace();

5、浏览器类

5.1 判断浏览器的类型

5.2 判断ie的版本

5.3 判断客户端的分辨率

6、结合类

6.1 email的判断。

6.2 手机号码的验证

6.3 身份证的验证

二、功能类

1、时间与相关控件类

1.1 日历

1.2 时间控件

1.3 万年历

1.4 显示动态显示时钟效果(文本,如OA中时间)

1.5 显示动态显示时钟效果 (图像,像手表)

2、表单类

2.1 自动生成表单

2.2 动态添加,修改,删除下拉框中的元素

2.3 可以输入内容的下拉框

2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送)

3、打印类

3.1 打印控件

4、事件类

4.1 屏蔽右键

4.2 屏蔽所有功能键

4.3 --> 和<-- F5 F11,F9,F1

4.4 屏蔽组合键ctrl+N

5、网页设计类

5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现)

5.2 html编辑控件类

5.3 颜色选取框控件

5.4 下拉菜单

5.5 两层或多层次的下拉菜单

5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目)

5.7 状态栏,title栏的动态效果(例子很多,可以研究一下)

5.8 双击后,网页自动滚屏

6、树型结构。

6.1 asp+SQL版

6.2 asp+xml+sql版

6.3 java+sql或者java+sql+xml

7、无边框效果的制作

8、连动下拉框技术

9、文本排序

10,画图类,含饼、柱、矢量贝滋曲线

11,操纵客户端注册表类

12,DIV层相关(拖拽、显示、隐藏、移动、增加)

13,TABLAE相关(客户端动态增加行列,模拟进度条,滚动列表等)

14,各种<object classid=>相关类,如播放器,flash与脚本互动等

16, 刷新/模拟无刷新 异步调用类(XMLHttp或iframe,frame)

一、验证类

1、数字验证内

1.1 整数

/^(-|\+)?\d+$/.test(str)

1.2 大于0的整数 (用于传来的ID的验证)

/^\d+$/.test(str)

1.3 负整数的验证

/^-\d+$/.test(str)

2、时间类

2.1 短时间,形如 (13:04:06)

function isTime(str)

{

var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);

if (a == null) {alert('输入的参数不是时间格式'); return false;}

if (a[1]>24 || a[3]>60 || a[4]>60)

{

alert("时间格式不对");

return false

}

return true;

}

2.2 短日期,形如 (2003-12-05)

function strDateTime(str)

{

var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);

if(r==null)return false;

var d= new Date(r[1], r[3]-1, r[4]);

return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);

}

2.3 长时间,形如 (2003-12-05 13:04:06)

function strDateTime(str)

{

var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;

var r = str.match(reg);

if(r==null)return false;

var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);

return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

}

2.4 只有年和月。形如(2003-05,或者2003-5)

2.5 只有小时和分钟,形如(12:03)

3、表单类

3.1 所有的表单的值都不能为空

<input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能为空!')">

3.2 多行文本框的值不能为空。

3.3 多行文本框的值不能超过sMaxStrleng

3.4 多行文本框的值不能少于sMixStrleng

3.5 判断单选框是否选择。

3.6 判断复选框是否选择.

3.7 复选框的全选,多选,全不选,反选

3.8 文件上传过程中判断文件类型

4、字符类

4.1 判断字符全部由a-Z或者是A-Z的字字母组成

<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">

4.2 判断字符由字母和数字组成。

<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')">

4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母

/^([a-zA-z_]{1})([\w]*)$/g.test(str)

4.4 字符串替换函数.Replace();

5、浏览器类

5.1 判断浏览器的类型

window.navigator.appName

5.2 判断ie的版本

window.navigator.appVersion

5.3 判断客户端的分辨率

window.screen.height; window.screen.width;

6、结合类

6.1 email的判断。

function ismail(mail)

{

return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));

}

6.2 手机号码的验证

6.3 身份证的验证

function isIdCardNo(num)

{

if (isNaN(num)) {alert("输入的不是数字!"); return false;}

var len = num.length, re;

if (len == 15)

re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);

else if (len == 18)

re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);

else {alert("输入的数字位数不对!"); return false;}

var a = num.match(re);

if (a != null)

{

if (len==15)

{

var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);

var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];

}

else

{

var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);

var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];

}

if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}

}

return true;

}

画图:

<OBJECT

id=S

style="LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px"

height=240

width=392

classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6">

</OBJECT>

<SCRIPT>

S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);

S.DrawingSurface.ArcRadians(30,0,0,30,50,60);

S.DrawingSurface.Line(10,10,100,100);

</SCRIPT>

写注册表:

<SCRIPT>

var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");

WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");

var bKey = WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");

WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));

WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");

WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");

WshShell.RegDelete ("HKCU\\Software\\ACME\\");

</SCRIPT>

TABLAE相关(客户端动态增加行列)

<HTML>

<SCRIPT LANGUAGE="JScript">

function numberCells() {

var count=0;

for (i=0; i < document.all.mytable.rows.length; i++) {

for (j=0; j < document.all.mytable.rows(i).cells.length; j++) {

document.all.mytable.rows(i).cells(j).innerText = count;

count++;

}

}

}

</SCRIPT>

<BODY onload="numberCells()">

<TABLE id=mytable border=1>

<TR><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH></TR>

<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>

<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>

</TABLE>

</BODY>

</HTML>

1.身份证严格验证:

<script>

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}

function cidInfo(sId){

var iSum=0

var info=""

if(!/^\d{17}(\d|x)$/i.test(sId))return false;

sId=sId.replace(/x$/i,"a");

if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";

sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));

var d=new Date(sBirthday.replace(/-/g,"/"))

if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";

for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)

if(iSum%11!=1)return "Error:非法证号";

return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")

}

document.write(cidInfo("380524198002300016"),"<br/>");

document.write(cidInfo("340524198002300019"),"<br/>")

document.write(cidInfo("340524197711111111"),"<br/>")

document.write(cidInfo("34052419800101001x"),"<br/>");

</script>

2.验证IP地址

<SCRIPT LANGUAGE="JavaScript">

function isip(s){

var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};

var re=s.split(".")

return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false

}

var s="202.197.78.129";

alert(isip(s))

</SCRIPT>

3.加sp1后还能用的无边框窗口!!

<HTML XMLNS:IE>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<IE:Download ID="include" STYLE="behavior:url(#default#download)" />

<title>Chromeless Window</title>

<SCRIPT LANGUAGE="JScript">

/*--- Special Thanks For andot ---*/

/*

This following code are designed and writen by Windy_sk <seasonx@163.net>

You can use it freely, but u must held all the copyright items!

*/

/*--- Thanks For andot Again ---*/

var CW_width= 400;

var CW_height= 300;

var CW_top= 100;

var CW_left= 100;

var CW_url= "/";

var New_CW= window.createPopup();

var CW_Body= New_CW.document.body;

var content= "";

var CSStext= "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";

//Build Window

include.startDownload(CW_url, function(source){content=source});

function insert_content(){

var temp = "";

CW_Body.style.overflow= "hidden";

CW_Body.style.backgroundColor= "white";

CW_Body.style.border= "solid black 1px";

content = content.replace(/<a ([^>]*)>/g,"<a onclick='parent.open(this.href);return false' $1>");

temp += "<table width=100% height=100% cellpadding=0 cellspacing=0 border=0>";

temp += "<tr style=';font-size:12px;background:#0099CC;height:20;cursor:default' ondblclick=\"Max.innerText=Max.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" onmouseup='parent.drag_up(event)' onmousemove='parent.drag_move(event)' onmousedown='parent.drag_down(event)' onselectstart='return false' oncontextmenu='return false'>";

temp += "<td style='color:#ffffff;padding-left:5px'>Chromeless Window For IE6 SP1</td>";

temp += "<td style='color:#ffffff;padding-right:5px;' align=right>";

temp += "<span id=Help onclick=\"alert('Chromeless Window For IE6 SP1 - Ver 1.0\\n\\nCode By Windy_sk\\n\\nSpecial Thanks For andot')\" style=\""+CSStext+"font-family:System;padding-right:2px;\">?</span>";

temp += "<span id=Min onclick='parent.New_CW.hide();parent.blur()' style=\""+CSStext+"font-family:Webdings;\" title='Minimum'>0</span>";

temp += "<span id=Max onclick=\"this.innerText=this.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" style=\""+CSStext+"font-family:Webdings;\" title='Maximum'>1</span>";

temp += "<span id=Close onclick='parent.opener=null;parent.close()' style=\""+CSStext+"font-family:System;padding-right:2px;\" title='Close'>x</span>";

temp += "</td></tr><tr><td colspan=2>";

temp += "<div id=include style='overflow:scroll;overflow-x:hidden;overflow-y:auto; HEIGHT: 100%; width:"+CW_width+"'>";

temp += content;

temp += "</div>";

temp += "</td></tr></table>";

CW_Body.innerHTML = temp;

}

setTimeout("insert_content()",1000);

var if_max = true;

function show_CW(){

window.moveTo(10000, 10000);

if(if_max){

New_CW.show(CW_top, CW_left, CW_width, CW_height);

if(typeof(New_CW.document.all.include)!="undefined"){

New_CW.document.all.include.style.width = CW_width;

New_CW.document.all.Max.innerText = "1";

}

}else{

New_CW.show(0, 0, screen.width, screen.height);

New_CW.document.all.include.style.width = screen.width;

}

}

window.onfocus = show_CW;

window.onresize = show_CW;

// Move Window

var drag_x,drag_y,draging=false

function drag_move(e){

if (draging){

New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);

return false;

}

}

function drag_down(e){

if(e.button==2)return;

if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return;

drag_x=e.clientX;

drag_y=e.clientY;

draging=true;

e.srcElement.setCapture();

}

function drag_up(e){

draging=false;

e.srcElement.releaseCapture();

if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return;

CW_top = e.screenX-drag_x;

CW_left = e.screenY-drag_y;

}

</SCRIPT>

</HTML>

贴两个关于treeview的

<script language="javascript">

<!--

//初始化选中节点

function initchecknode()

{

var node=TreeView1.getTreeNode("1");

node.setAttribute("Checked","true");

setcheck(node,"true");

FindCheckedFromNode(TreeView1);

}

//oncheck事件

function tree_oncheck(tree)

{

var node=tree.getTreeNode(tree.clickedNodeIndex);

var Pchecked=tree.getTreeNode(tree.clickedNodeIndex).getAttribute("checked");

setcheck(node,Pchecked);

document.all.checked.value="";

document.all.unchecked.value="";

FindCheckedFromNode(TreeView1);

}

//设置子节点选中

function setcheck(node,Pc)

{

var i;

var ChildNode=new Array();

ChildNode=node.getChildren();

if(parseInt(ChildNode.length)==0)

return;

else

{

for(i=0;i<ChildNode.length;i++)

{

var cNode;

cNode=ChildNode[i];

if(parseInt(cNode.getChildren().length)!=0)

setcheck(cNode,Pc);

cNode.setAttribute("Checked",Pc);

}

}

}

//获取所有节点状态

function FindCheckedFromNode(node) {

var i = 0;

var nodes = new Array();

nodes = node.getChildren();

for (i = 0; i < nodes.length; i++) {

var cNode;

cNode=nodes[i];

if (cNode.getAttribute("Checked"))

AddChecked(cNode);

else

AddUnChecked(cNode);

if (parseInt(cNode.getChildren().length) != 0 ) {

FindCheckedFromNode(cNode);

}

}

}

//添加选中节点

function AddChecked(node) {

document.all.checked.value += node.getAttribute("NodeData");

document.all.checked.value += ',';

}

//添加未选中节点

function AddUnChecked(node) {

document.all.unchecked.value += node.getAttribute("NodeData");

document.all.unchecked.value += ',';

}

//-->

</script>

treeview中如何在服务器端得到客户端设置后的节点选中状态

<script language="C#" runat="server">

private void Button1_Click(object sender, System.EventArgs e)

{

Response.Write(TreeView1.Nodes[0].Checked);

}

</script>

<script language="javascript">

function set_check()

{

var nodeindex = "0";

var node=TreeView1.getTreeNode(nodeindex);

node.setAttribute("Checked","True");

TreeView1.queueEvent('oncheck', nodeindex);

}

</script>

三??用的小技巧:晷檩?入法.禁止傥上.禁止妖氧

晷檩?入法

本文字框?入法被晷檩:

遮法: style="ime-mode:disabled"

?例: <input type="text" name="textfield" style="ime-mode:disabled">

禁止傥上

本文字框禁止傥上文字:

遮法:onpaste="return false"

?例:<input type="text" name="textfield" onpaste="return false">

禁止妖氧

本文字框禁止妖氧:

遮法:oncopy="return false;" oncut="return false;"

?例:<input name="textfield" type="text" value="不能妖氧彦面的字" oncopy="return false;" oncut="return false;">

//================================

//Cookie操作

//================================

function getCookieVal (offset)

{

var endstr = document.cookie.indexOf (";", offset);

if (endstr == -1)

endstr = document.cookie.length;

return unescape(document.cookie.substring(offset, endstr));

}

function GetCookie (name)

{

var arg = name + "=";

var alen = arg.length;

var clen = document.cookie.length;

var i = 0;

while (i < clen)

{

var j = i + alen;

if (document.cookie.substring(i, j) == arg)

return getCookieVal (j);

i = document.cookie.indexOf(" ", i) + 1;

if (i == 0)

break;

}

return null;

}

function deleteCookie(cname) {

var expdate = new Date();

expdate.setTime(expdate.getTime() - (24 * 60 * 60 * 1000 * 369));

// document.cookie =" ckValue="ok"; expires="+ expdate.toGMTString();

setCookie(cname,"",expdate);

}

function setCookie (name, value, expires) {

document.cookie = name + "=" + escape(value) +

"; expires=" + expires.toGMTString() ;

}

一个可以在页面上随意画线、多边形、圆,填充等功能的js (part 1)

var jg_ihtm, jg_ie, jg_fast, jg_dom, jg_moz,

jg_n4 = (document.layers && typeof document.classes != "undefined");

function chkDHTM(x, i)

{

x = document.body || null;

jg_ie = x && typeof x.insertAdjacentHTML != "undefined";

jg_dom = (x && !jg_ie &&

typeof x.appendChild != "undefined" &&

typeof document.createRange != "undefined" &&

typeof (i = document.createRange()).setStartBefore != "undefined" &&

typeof i.createContextualFragment != "undefined");

jg_ihtm = !jg_ie && !jg_dom && x && typeof x.innerHTML != "undefined";

jg_fast = jg_ie && document.all && !window.opera;

jg_moz = jg_dom && typeof x.style.MozOpacity != "undefined";

}

function pntDoc()

{

this.wnd.document.write(jg_fast? this.htmRpc() : this.htm);

this.htm = '';

}

function pntCnvDom()

{

var x = document.createRange();

x.setStartBefore(this.cnv);

x = x.createContextualFragment(jg_fast? this.htmRpc() : this.htm);

this.cnv.appendChild(x);

this.htm = '';

}

function pntCnvIe()

{

this.cnv.insertAdjacentHTML("BeforeEnd", jg_fast? this.htmRpc() : this.htm);

this.htm = '';

}

function pntCnvIhtm()

{

this.cnv.innerHTML += this.htm;

this.htm = '';

}

function pntCnv()

{

this.htm = '';

}

function mkDiv(x, y, w, h)

{

this.htm += '<div style="position:absolute;'+

'left:' + x + 'px;'+

'top:' + y + 'px;'+

'width:' + w + 'px;'+

'height:' + h + 'px;'+

'clip:rect(0,'+w+'px,'+h+'px,0);'+

'background-color:' + this.color +

(!jg_moz? ';overflow:hidden' : '')+

';"><\/div>';

}

function mkDivIe(x, y, w, h)

{

this.htm += '%%'+this.color+';'+x+';'+y+';'+w+';'+h+';';

}

function mkDivPrt(x, y, w, h)

{

this.htm += '<div style="position:absolute;'+

'border-left:' + w + 'px solid ' + this.color + ';'+

'left:' + x + 'px;'+

'top:' + y + 'px;'+

'width:0px;'+

'height:' + h + 'px;'+

'clip:rect(0,'+w+'px,'+h+'px,0);'+

'background-color:' + this.color +

(!jg_moz? ';overflow:hidden' : '')+

';"><\/div>';

}

function mkLyr(x, y, w, h)

{

this.htm += '<layer '+

'left="' + x + '" '+

'top="' + y + '" '+

'width="' + w + '" '+

'height="' + h + '" '+

'bgcolor="' + this.color + '"><\/layer>\n';

}

var regex = /%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g;

function htmRpc()

{

return this.htm.replace(

regex,

'<div style="overflow:hidden;position:absolute;background-color:'+

'$1;left:$2;top:$3;width:$4;height:$5"></div>\n');

}

function htmPrtRpc()

{

return this.htm.replace(

regex,

'<div style="overflow:hidden;position:absolute;background-color:'+

'$1;left:$2;top:$3;width:$4;height:$5;border-left:$4px solid $1"></div>\n');

}

function mkLin(x1, y1, x2, y2)

{

if (x1 > x2)

{

var _x2 = x2;

var _y2 = y2;

x2 = x1;

y2 = y1;

x1 = _x2;

y1 = _y2;

}

var dx = x2-x1, dy = Math.abs(y2-y1),

x = x1, y = y1,

yIncr = (y1 > y2)? -1 : 1;

if (dx >= dy)

{

var pr = dy<<1,

pru = pr - (dx<<1),

p = pr-dx,

ox = x;

while ((dx--) > 0)

{

++x;

if (p > 0)

{

this.mkDiv(ox, y, x-ox, 1);

y += yIncr;

p += pru;

ox = x;

}

else p += pr;

}

this.mkDiv(ox, y, x2-ox+1, 1);

}

else

{

var pr = dx<<1,

pru = pr - (dy<<1),

p = pr-dy,

oy = y;

if (y2 <= y1)

{

while ((dy--) > 0)

{

if (p > 0)

{

this.mkDiv(x++, y, 1, oy-y+1);

y += yIncr;

p += pru;

oy = y;

}

else

{

y += yIncr;

p += pr;

}

}

this.mkDiv(x2, y2, 1, oy-y2+1);

}

else

{

while ((dy--) > 0)

{

y += yIncr;

if (p > 0)

{

this.mkDiv(x++, oy, 1, y-oy);

p += pru;

oy = y;

}

else p += pr;

}

this.mkDiv(x2, oy, 1, y2-oy+1);

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有