javascript集锦

 

年纪大了,记性不好了。

JavaScript中的Boolean类型(http://www.blogjava.net/majianan/)

||是这样运算的:从第一个开始,遇到有意义的返回,否则返回最后一个表达式(注意不一定是Boolean值);

&&是这样运算的:从第一个开始,遇到无意义的返回,否则返回最后一个表达式(注意同上);

!是这样运算的:
对表达式的值取非(注意不是对表达式)。

什么是无意义呢:如下六个 0,null,undefined,"",false,NaN。除此,视为有意义。


更改html元素样式的(也就是class=' style name') ,是这样写:

document.getElementById( ' element id ' ).className = ' css style name ' ;

用document.getElementsByTagName得到的是document对象下的html元素,是不能得到js创建的对象的。

//获取坐标位置

function getpos(e)...{

    var t=e.offsetTop;   

    var l=e.offsetLeft;   

    var height=e.offsetHeight;   

    while(e=e.offsetParent)...{ 

        t+=e.offsetTop;   

        l+=e.offsetLeft;   

    }

}

 

假设 obj 为某个 HTML 控件。 obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。 obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。 obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。 obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。 我们对前面提到的“上方或上层”与“左方或上层”控件作个说明。 例如: <div id="tool">       <input type="button" value="提交">       <input type="button" value="重置"> </div> “提交”按钮的 offsetTop 指“提交”按钮距“tool”层上边框的距离,因为距其上边最近的是 “tool” 层的上边框。 “重置”按钮的 offsetTop 指“重置”按钮距“tool”层上边框的距离,因为距其上边最近的是 “tool” 层的上边框。 “提交”按钮的 offsetLeft 指“提交”按钮距“tool”层左边框的距离,因为距其左边最近的是 “tool” 层的左边框。 “重置”按钮的 offsetLeft 指“重置”按钮距“提交”按钮右边框的距离,因为距其左边最近的是“提交”按钮的右边框。

offsetTop 可以获得 HTML 元素距离上方或外层元素的位置,style.top 也是可以的,二者的区别是:

一、offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。

二、offsetTop 只读,而 style.top 可读写。

三、如果没有给 HTML 元素指定过 top 样式,则 style.top 返回的是空字符串。

offsetLeft 与 style.left、offsetWidth 与 style.width、offsetHeight 与 style.height 也是同样道理。

 

scrollHeight: 获取对象的滚动高度。  

 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:获取对象的滚动宽度

offsetHeight:获取对象相对于版面或由父坐标

offsetParent 属性指定的父坐标的高度

offsetLeft:获取对象相对于版面或由

offsetParent 属性指定的父坐标的计算左侧位置

offsetTop:获取对象相对于版面或由

offsetTop 属性指定的父坐标的计算顶端位置  

event.clientX 相对文档的水平座标

event.clientY 相对文档的垂直座标

event.offsetX 相对容器的水平坐标

event.offsetY 相对容器的垂直坐标  

document.documentElement.scrollTop 垂直方向滚动的值 event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量  

以上主要指IE之中,FireFox差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

 IE5.0/5.5:

clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

(下部分转自http://blog.csdn.net/beimuaihui/archive/2007/08/08/1731815.aspx

 

textarea自适应高度

 

<textarea style="border: 1px solid #94BBE2;width:100%;" 

	rows="1" 

	onpropertychange="this.style.posHeight=this.scrollHeight" 

	id="textarea" 

	οnfοcus="textarea.style.posHeight=this.scrollHeight">fan</textarea>

 

 json格式的数据互换:

var person = {name: "Angel", age: 18, married: false};

document.writeln('<br/>' + person.name + ', ' + person.age);

var persons = eval('({"name": "Angel", "age": 18, "married": false})');

document.writeln('<br/>' + persons.name);
var persons = eval('([{"name": "Angel", "age": 18, "married": false},{"name": "Angel", "age": 19, "married": false},{"name": "Angel", "age": 20, "married": false}])');
for(var i = 0; i < persons.length; i ++) {
      document.writeln('<br/>' + persons[i].age);		
}

 

转自:http://hi.baidu.com/csxbao/blog/item/b1dda31f0f7ff960f724e472.html

在IE/Opera中,是window.event,而在Firefox中,是event而事件的对象,在IE中是window.event.srcElement,在Firefox中是event.target,而在Opera中则两者都支持。
我们还是用例子来说明。

 event的跨浏览器测试 
<script language="JavaScript">

 
 
</script>



 
 

这里顺便说一下判断鼠标按键的问题。
在 IE 里面
左键是 window.event.button = 1
右键是 window.event.button = 2
中键是 window.event.button = 4
没有按键动作的时候 window.event.button = 0

在 Firefox 里面
左键是 event.button = 0
右键是 event.button = 2
中键是 event.button = 1
没有按键动作的时候 event.button = 0

在 Opera 7.23/7.54 里面
鼠标左键是 window.event.button = 1
没有按键动作的时候 window.event.button = 1
右键和中键无法获取

而在 Opera 7.60/8.0 里面
鼠标左键是 window.event.button = 0
没有按键动作的时候 window.event.button = 0
右键和中键无法获取

下面我们写一个能在 IE4.01+/Firefox 0.9+/Opera 7.23+ 环境中均能运行正常的小程序,功能是用鼠标拖动层。

 可用鼠标拖动的层 
<script language="JavaScript">

 
 
</script>


 
 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值