资讯专栏INFORMATION COLUMN

《DOM编程艺术》中CSS—DOM的总结(二)

yangrd / 2137人阅读

摘要:部分这是一个表格月日北京路号人民广场月日南京路号人民博物馆月日上海路号人民艺术中心部分要美观,还是稍微写点样式吧代码部分思路就是获取到所有的,然后遍历,并对做样式修改。

前言:接上篇,本篇有两个内容:一个是Demo:当鼠标hover到表格的一行上时这行表格字体加粗。。。好了,废话少说,开始!!!

------------------严肃的分割线------------------

1.一个Demo

需求:创建一个表格,当鼠标hover到一行上时,改变这行中字体的样式,鼠标移走恢复原样。

(1)HTML部分
  1. 2)CSS部分

    要美观,还是稍微写点样式吧

    </>code

    1. table {
    2. margin: auto;
    3. border: 1px solid gray;
    4. margin-top: 30px;
    5. }
    6. caption {
    7. margin: auto;
    8. font-weight: bold;
    9. }
    10. th {
    11. border: 1px dotted gray;
    12. background-color: gainsboro;
    13. }
    14. th,
    15. td {
    16. width: 10em;
    17. padding: 0.5em;
    18. }
    (3)js代码部分

    思路就是:获取到所有的tr,然后遍历tr,并对tr做CSS样式修改。
    -首先判断浏览器支不支持getElementsByTag
    -其次获取所有的tr标签
    -然后遍历,取出每一个tr标签,添加onmouseover事件和onmouseout事件,后面用匿名函数执行样式更换操作。

    </>code

    1. function highlightRows(){
    2. if(!document.getElementsByTagName){
    3. return false;
    4. }
    5. var trlist = document.getElementsByTagName("tr");
    6. for(var i = 0; i < trlist.length; i++){
    7. trlist[i].onmouseover = function(){
    8. this.style.fontWeight = "bolder";
    9. this.style.color = "red";
    10. }
    11. trlist[i].onmouseout = function(){
    12. this.style.fontWeight = "normal";
    13. this.style.color = "black";
    14. }
    15. }
    16. }

    当然要在文档加载完成后执行这个函数,所以老熟人addLoadEvent函数又再次出现。

    </>code

    1. function addLoadEvent(func){
    2. //把现有的window.onload存入变量oldonload
    3. var oldonload = window.onload;
    4. if(typeof window.onload != "function"){
    5. window.onload = func;
    6. }else{
    7. window.onload = function(){
    8. oldonload();
    9. func();
    10. }
    11. }
    12. }

    最后在文档加载完成后,添加这个函数到addLoadEvent函数。

    </>code

    1. addLoadEvent(highlightRows);
    2.完整源代码

    老规矩了,上完整源代码,你可以复制到本地看看效果,have fun ~~~欢迎留言评论拍砖交流

    </>code

    1. <span class="hljs-regexp">exampl</span>
  2. 这是一个表格
    WhenWhere
    9月9日
  3. 北京路25号人民广场
    10月9日
  4. 南京路28号人民博物馆
    11月9日
  5. 上海路20号人民艺术中心
  6. 这是一个表格
    WhenWhere
    9月9日
  7. 北京路25号人民广场
    10月9日
  8. 南京路28号人民博物馆
    11月9日
  9. 上海路20号人民艺术中心

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79677.html

相关文章

  • DOM编程艺术CSSDOM总结

    摘要:部分这是一个表格月日北京路号人民广场月日南京路号人民博物馆月日上海路号人民艺术中心部分要美观,还是稍微写点样式吧代码部分思路就是获取到所有的,然后遍历,并对做样式修改。 前言:接上篇,本篇有两个内容:一个是Demo:当鼠标hover到表格的一行上时这行表格字体加粗。。。好了,废话少说,开始!!! ------------------严肃的分割线------------------ 1....

    amc 评论0 收藏0
  • DOM编程艺术CSSDOM总结(三)

    摘要:前言这是系列最后一篇,本文主要总结了的用法,以及最后对函数进行抽象。一个多说无益,还是上代码来得实在还记得编程艺术中的总结一中那个无聊的根据元素在节点树里的位置来设置样式的吧现在可以用属性直接更改样式了。 前言:这是CSS-DOM系列最后一篇,本文主要总结了className的用法,以及最后对函数进行抽象。 ------------------我是分割线----------------...

    liukai90 评论0 收藏0
  • DOM编程艺术CSSDOM总结(三)

    摘要:前言这是系列最后一篇,本文主要总结了的用法,以及最后对函数进行抽象。一个多说无益,还是上代码来得实在还记得编程艺术中的总结一中那个无聊的根据元素在节点树里的位置来设置样式的吧现在可以用属性直接更改样式了。 前言:这是CSS-DOM系列最后一篇,本文主要总结了className的用法,以及最后对函数进行抽象。 ------------------我是分割线----------------...

    王岩威 评论0 收藏0
  • DOM编程艺术CSSDOM总结(一)

    摘要:前言前面是纯总结,后面实现了一个用改变样式的。开始元素节点的属性文档中每个元素节点都有一个属性,属性包含着元素的样式,查询这个这个属性将会返回一个对象,节点对应的样式都存放在这个属性里。 前言:前面是纯总结,后面实现了一个用DOM改变样式的Demo。-------------------开始------------------------- 1.元素节点的style属性 HTML文档中...

    sourcenode 评论0 收藏0
  • DOM编程艺术CSSDOM总结(一)

    摘要:前言前面是纯总结,后面实现了一个用改变样式的。开始元素节点的属性文档中每个元素节点都有一个属性,属性包含着元素的样式,查询这个这个属性将会返回一个对象,节点对应的样式都存放在这个属性里。 前言:前面是纯总结,后面实现了一个用DOM改变样式的Demo。-------------------开始------------------------- 1.元素节点的style属性 HTML文档中...

    Bryan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<