JavaScript和CSS的交互(一)

JavaScript和CSS的交互(一)

      使用JavaScript控制CSS样式,也就是CSS特效这就是接下来就是我将要描述的内容。

1.  在CSS样式中,制作CSS样式的语法由三部分构成:选择器 ,属性, 和 值 

       例如:

       body{

          color:#000 ; font-size:12px;

              }

      CSS的属性非常多,组合成样式更是十分庞大,不过常用的样式并不多,通常是文本,背景,边框等属         性,

 

类别 属性 描述
文本属性 font-size 字体大小
  font-family 字体的类型
  font-style 字体的样式
  color 设置或检索文本的颜色
  text-align 文本对齐
背景属性 background-color 设置背景颜色
  background-imge 设置背景图像
  background-repeat 设置一个指定的图像如何被重复
边框属性 border-width 设置边框的宽度
  border-style 设置边框的样式
  boder-color 设置边框的颜色


2.样式表

 (1)内联样式

   <input name=”user” type =”text” style= “width:100px; border:soild 1px #cccccc”/>

(2)内部样式

   <style type= “text/css”>

  input{

          width:100px; border:soild 1px #cccccc

         }

   </style>

(3)外部样式

    <link rel =”stylesheet” href=”style.css” type =”text/css”/>


3.JavaScript访问样式的常用方法

JavaScript中有两种方式可以动态的改变样式的属性一种是使用样式的style属性,另种是使用样式的className属性,下面主要介绍这两种属性的用法。

(1) style 属性 

在HTML DOM中,style是一个对象,代表个单独的样式声明,可以应用样式的文档或元素访问style对象,使用style属性改变样式语法:

HTML元素.style.样式属性=“值”;

假如在页面中有一个id为titles的div,要改变div中的字体颜色为红色,字体大小13px,代码如下所示。

document.getElemnetById(“titles”).style.font-size =”25px”;

在浏览中运行该页面后发现页面出现错误

在JavaScript中使用CSS样式与HTML中使用CSS稍有不同,由于在JavaScript中”-“表示减号,因此如果样式属性名称为fontSize.在style对象中有许多样式属性,但是常用的样式属性主要是背景、文本、边框等

类别          属性                描述                                 

background   backgroundColor      设置元素的背景颜色   

(背景)       backgroundImage      设置 元素的背景图像

             backgroundRepeat     设置是否及如何重复背景图像

text         fontSize              设置元素的字体大小

(文本)     textAlign             排列文本

             textDecoration        设置文本的修饰             

             font                  设置同一行字体的属性

             color                 设置文本的颜色

padding      padding                设置元素的填充

(边距)       paddingTop             设置元素的上,下,左,右   

             paddingBottom

             paddingLeft

             paddingRight

border       border               设置四个边框的属性

(边框)     borderTop            设置上下左右边框的属性

             borderBottom           

             borderLeft

             borderRight  

在HTML DOM中,每个元素都有对应的事件,这些事件能够触发浏览器中的行为

常用事件

名称           描述                                                     

onclick        当用户单击某个对象时调用事件

onmouseover    鼠标移到到某元素之上

onmouseout     鼠标从某元素移开

onmousedown    鼠标按钮被按下


在 JavaScript中有一个关键字this 它通常指向正在执行的函数本身或指向函数所属的对象(正在执行的函数)。对于一个onmouseover事件,它指的是HTML  元素,如果在这件事件使用this,那么this表示当前的HTML元素,因此在行内改变style属性时可以使用this,例如onmouseover=”this.style.backgroundimage=’url(images/bg2.gif)'”;

(2)className属性

在HTML DOM中,className属性可设置或返回元素的class样式;语法如下:

HTML元素.className=”样式名称”;

4.JavaScript 访问样式的应用

思考问题:

(1)把广告图片放在一个div中,并且div总是显示在页面的上方。

(2)使用getElementById()方法获得取层对象,并且获取层在页面上的初始位置

(3)根据鼠标滚动事件,获取滚动条滚动的距离

(4)随着滚动条的移动改变层以及访问层,但是如何获取层在页面中的位置呢,还有如何获的鼠标的滚动事件呢

(1)获取样式属性值

 在CSS中可以使用样式为每个样式为每个元素设置位置,同样。在HTML DOM 的style对象中也有对应的元素定位属性,在style对象中的Positioning 属性

属性              描述

top              设置元素的顶边缘距离父元素顶边缘之上或之下的距离

left             设置元素的左边缘距离父元素左边缘之左或之右的距离

right            设置元素的右边缘距离父元素右边缘之左或之右的距离

buttom           设置元素的底边缘距离父元素底边缘之上或之下的距离

zIndex           设置元素的堆叠次序


在元素定位的几个属性中,常用的top和left,通常用这两个属性设置中的位置,即距离页面顶端的位置(Y轴的位置)和距离页面左侧的位置(X轴的位置)。在页面的坐标体系




页面上所有元素都有top(Y轴上的锤直坐标)和left (X轴上的水平坐标)的偏移为了更好的理解页面中元素的坐标。我们来看下面的例子。在页面中有一个层,使用style属性获取层在页面中的位置


<script type =”text/javascript”>

function place(){

 var divobj = document.getElementById(“test”);

  alert(“上:”+divobj.style.top+”n”+divobj.style.left);

}

</script>

<div id =”test” onclick = “place()”; style =”position:absolute; width:200px;left:50px;top:120px; height:100px;”/>测试</div>



从上面提示窗口中可以看到。style对象返回的坐标属性时带有单位(px)的;因此如果要获得做标的值;需要使用parseInt把坐标转行为数字,同样,当为某元素设置坐标时,也需要在最后的添加单位(px).         在JavaScript中使用”HTML 元素.style 样式属性” 的属性值,只能获取内联式的属性值,无法获取内部样式表或外部样式中的属性值,那么如何获取样式表中的属性值呢?

微软为每一个元素提供一个currentStyle对象,它包含了所有元素的style对象的特性和任何未被覆盖的CSS规则的style特性.currentStyle对象和style对象的使用方式一样 











JavaScript和CSS的交互(一)

相关文章:

你感兴趣的文章:

标签云: