动态创建矩形及拖拽

动态的创建矩形直接使用var divs = document.createElement(“div”);

然后使用document.body.appendChild(divs);   如果这句不写是不能显示Div的。

还可以为这个变量(div)再进行属性的赋值如:

divs.id = 1;//设置id

divs.style.filter = “alpha(opacity=50)”;//设置透明度

设置这个变量的方法可以使用如下语句

divs.onmousedown = function()
{
InitDrag();//这个方法必须在javascript脚本中有定义。这样还可以传参进这个函数
};

这个矩形的就这样创建完毕。同时如果使用拖拽的话可以对onmousedown,onmouseup,onmousemove这几个函数进行定义。当然要改变这个di
v的属性值的时候,要先获得这个div的对象,使用document.getElementByID()方法,参数是刚才设置的divs的id值。如果要判断鼠标点击
的是哪一个div就可以使用var rect = event.srcElement;这个属性就是触发事件的那个矩形。

这两句是在其他网站上看到的,使用的是鼠标的相对位置来设置当前的div所在的位置。

var posLeft= document.body.scrollLeft+event.x-x;
var posTop= document.body.scrollTop+event.y-y;

下面说说mouse触发event事件后,各个坐标值是什么意思:

x,就是clientX,大概是相对浏览器窗口的位置

offsetX就是相对与这个div的父节点的位置

screenX就是相对与屏幕的位置(也可以认为是真实的位置)

但是一直没有弄懂scrollLeft是什么。

这里一定要注意,javascript是区分大小写的,写错了有可能编译通过,但是运行时报出各种各样的错误。注意浏览器报出的错误往往不是真实的错误。发生错误的地
方往往在所报行数的上面。

在c#中写javascript脚本

如果声明javascript变量使用var temp;//temp是变量名称,当然这里不使用var关键字也没有问题

在javascript中声明函数使用function关键字。

如果一个字符串var s = “gg;ee;ww”;

var ss = s.split(‘;’);//这样ss就变成了一个数组其ss[0]“gg” ss[1]“ee” ss[2]==“ww”

当然也可以使用var ss=new Array;来定义一个数组

在数组中,可以对任意位置赋值。比如刚才new 完数组后,可以 ss[10]=“xx”

遍历javascript数组的时候可以使用for( i in ss)   i 为index,ss 为
Array。当这个数组中的元素为null时,自动跳过。要删除数组中的元素只要使用delete ss[i]
即可。这样删除后,ss中元素不会自动前移。依旧保持固有的下标。