Rumah >hujung hadapan web >tutorial js >Js设置和获取元素样式方法
1、使用标签连接到外部文件。
2、使用@import方法导入外部样式表。
老祖宗的差别。link属于XHTML标签,而@import完全是CSS提供的一种方式。link标签除了可以加载CSS外,还可 以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。
加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的 CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式,然后突然样式会出现,网速慢的时候还挺明显。
兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而 link标签无此问题。
使用dom控制样式时的差别。
当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不 是dom可以控制的。
所以,无特殊情况推荐使用link来引入样式,尽量避免使用@import
两者的区别:
本质上,这两种方式都是为了加载CSS文件,但还是存在着细微的差别。
1、使用getElement系列方法访问元素。
2、改变样式属性:
(1)style属性 (2)className属性 HTML元素.style.样式属性="值" document.getElementById("titles").style.color="#ff0000";
设置每一个li标签的初始状态
设置两个样式over和out,表示鼠标移至菜单和移出菜单的效果
var len=document.getElementsByTagName("li"); for(var i=0;i<len.length;i++){ len[i].onmouseover=function(){ this.className="over"; } len[i].onmouseout=function(){ this.className="out"; } }
获取样式的方法:
document.getElementById(elementId).样式属性值 var pObj=document.getElementById("test"); var objTop=pObj.style.top;
获取内部(内嵌)和外部样式的方法:
currentStyle //IE getComputedStyle() //其他浏览器 var pObj=document.getElementById("test"); var objTop= pObj.currentStyle.top; var objTop =document.defaultView.getComputedStyle(pObj,null).top;
获得滚动条滚动的距离:
页面加载时,获取图片所在层的具体位置,即页面的left和top位置
获取页面初始位置时,要判断当前浏览器的类型
当滚动条滚动时,获取滚动条距离页面顶端和左侧的距离(要判断当前浏览器的类型),同时改变层距离顶端和左侧的位置。
if (document.documentElement && document.documentElement.scrollTop) {//Firefox\IE浏览器 adverObject.style.top=adverTop+parseInt(document.documentElement.scrollTop)+"px"; adverObject.style.left=adverLeft+parseInt(document.documentElement.scrollLeft)+"px"; } else if (document.body) {// Safari、Chrome浏览器 adverObject.style.top=adverTop+parseInt(document.body.scrollTop)+"px"; adverObject.style.left=adverLeft+parseInt(document.body.scrollLeft)+"px"; }
scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
clientWidth 浏览器中可见内容的宽度,不包括滚动条等边线,会随窗口的显示大小改变
clientHeight 浏览器中可以看到内容的区域的高度
获取滚动条在窗口中滚动的距离:
document.documentElement.scrollTop;
document.documentElement.scrollLeft;
实现思路:
图片放在一个层中,使用CSS样式设置层的初始位置
function move(){ adverObject.style.top=adverTop+parseInt(document.documentElement.scrollTop)+"px"; adverObject.style.left=adverLeft+parseInt(document.documentElement.scrollLeft)+"px"; } window.onload=inix; window.onscroll=move;
Atas ialah kandungan terperinci Js设置和获取元素样式方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!