动态创建矩形及拖拽
动态的创建矩形直接使用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中元素不会自动前移。依旧保持固有的下标。