Tagged: scrollTop,textarea变换大小 |
Cat: HTML, javascript |
在获取鼠标所在位置坐标的时候,针对ie需要用到document.body.scrollTop属性,但是在以下情况下,document.body.scrollTop始终为0,如果顶部申明:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd"
document.body.scrollTop 要改成: document.documentElement.scrollTop
给textarea加以下css属性:
textarea{resize:none}
不要问我有什么用,有这个属性自然有其发生作用的时候。
Tagged: javascript,JS,多层重叠,激活 |
Cat: javascript |
最近有一个作业中的一个小功能要求以下:多层div相互层叠,要求激活其中一个。 先看我做的DEMO:http://xiebiji.com/works/activeDiv/ 来看一下关键的js代码(基于mootools):
//层叠激活
/*获取当前所有层区域*/
//定义一个存放多个区域数据的集合
var allArea=new Array();
//遍历所有存在的div
$$('#comm_area .comm_div').each(function(e){
pushOneArea(e);//依次存数据
});
//往allArea集合中存入一个区域数据,e为$()方法得来的元素
function pushOneArea(e){
var oneArea=new Object();//定义1个对象
//赋予对象一些必要的数据
oneArea.sx=e.getStyle('left').toInt();
oneArea.ex=e.getStyle('left').toInt()+e.getStyle('width').toInt();
oneArea.sy=e.getStyle('top').toInt...
Tagged: javascript,ppk,学习,浏览器大战,看书 |
Cat: javascript |
过年在家其实有时候晚上是很无聊的,因为家里常年没人住,过年的时候回家,家里没什么东西,当然电脑和网络也没有的,不过我是一个熬得住无聊的人,我很容易就可以打发时间,放假的时候我顺手问同学借了这本书《ppk 谈 JavaScript》。
这本书的简介我就直接引用豆瓣的啦,毕竟我还没有看完哈。
不看不知道一看吓一跳,这本是一本好书,我看了第一章的前几节就给迷住了。就我看的那几节,它把javascript的来龙去脉都说清楚了,‘浏览器大战’之类的词藻我还真第一次听说,说得挺让人感兴趣的。越看越兴奋,让我感觉到javascript甚至其他前端知识的前卫性,前端将牵起一段革命,这一点也不夸张,因为按这书说的,不同巨头公司之间一直以来都在技术革新...
Tagged: JS,mouseenter,mouseleav |
Cat: javascript |
首先说一下什么是mouseenter事件:
实际上就是鼠标从外面移到某个元素里面(触发了目标方法)后,鼠标再在里面移动不会重新触发目标方法。moueseleave同理。
本身ie系列浏览器是有onmouseenter这个事件定义的,但是firefox之类的浏览器没有这个,所以只能模拟。
以下提供完美模拟的方法:
//ele为目标元素,type为事件类型不用'on',func为事件响应函数
var addEvent=function(ele,type,func){
if(window.document.all)
ele.attachEvent('on'+type,func);//ie系列直接添加执行
else{//ff
if(type==='mouseenter')
ele.addEventListener('mouseover',this.withoutChildFunction(func),false);
else if(type==='mouseleave')
ele.addEventListener('mouseout',this.withoutChildFunction(func),false);
el...
Tagged: javascript,JS,加载 |
Cat: javascript |
问:javascript文件在页面加载的时候放哪里最好?
之前被这样问到,我马上就答:放最后。现在反省!实际上这个答案太肤浅了。
运行 Internet Explorer 7 或更早版本的浏览器在遇到 JavaScript 文件时会产生阻碍。通常,它们在以所谓的推测模式下载时速度足够快。但如果遇到 JavaScript,浏览器会跳出此模式,专门下载 JavaScript。而且多个Javascript是按串行形式下载,您将发现 JavaScript files 文件之间不会出现并行,也绝少会同时加载其他类型的文件。
所以我们会把所有其他东西都下载才开始下载js文件,所以我以前的答案是:把js放最后面。
而实际上在这个基础上还有技巧,就是把原来串行加载js的方式转为并行。具体做法:
function AsyncLoad(){
var l = ar...
Tagged: javascript,JS,属性,静态属性 |
Cat: javascript |
今天斗完地主,发现芋头童鞋在群里面提了一个很有趣的一个问题:
下列代码使Test方法类具有一个静态属性arr(数组)
var Test=function(){
}
Test.prototype={
arr:[]
}
var test1=new Test();
test1.arr.push('ddd')
var test2=new Test();
alert(test2.arr.length) //1
他问为什么两个实例(test1和test2)会共用一个arr数组。他要的是独立实例具有独立的那个arr(数组)属性,我刚开始还以为他问怎样可以共用一个数组。
后来给他提了一个解决方法:
下列代码使隶属于Test方法类的两个实例test1和test2具有各自的arr(数组)属性
var Test=function(){
this.arr=[];//原理很简单,初始化的时候使当前实例(this)的arr(数组)属性(来源于对象原型:T...