JS-DOM样式操作

摘要:
完全的letbuttomList=document.querySelectorAll(“button”);letdivObj=文档.querySelector(“div”);{letleftLength=divObj.style.left;100)}}buttomList[1].onclick=()=>id=未定义;

js样式操作

行内式样式操作

//行内式属性的获取
    let value = 元素对象.style.属性名;
    //得到的值为String类型,如果要做算术运算需要转型
    //仅能得到行内式属性的值,对于嵌入式、外联式的值无法获取
    //属性名需要注意如果在css中唯一个单词则是原单词,如果在css中为多个单词则遵守驼峰命名法

    元素对象.style.属性名 = "value";
    //为属性赋值的内容也是String
JS-DOM动画-小球水平往返
//<body>
//    <div style=" position: absolute;top: 50px; height: 100px;  100px;
//    background-color: brown;left: 100px;">
//    </div>
//    <button>开始</button>
//    <button>暂停</button>
//</body>


let buttomList = document.querySelectorAll("button");

let divObj = document.querySelector("div");

let id;

//得到客户区宽度
let userWidth = document.documentElement.clientWidth;

let flag = 1;

buttomList[0].onclick = () => {
    if(id == undefined){
        id = window.setInterval(() => {
            let leftLength = divObj.style.left;
            if (parseInt(leftLength) + 100> userWidth) {
                flag = -1;
            }
            leftLength = (parseInt(leftLength) + 50 * flag) + "px";
            divObj.style.left = leftLength;
            if (parseInt(leftLength) < 50) {
                flag = 1;
            }
        }, 100)
    }
}

buttomList[1].onclick = () => {
    window.clearInterval(id);
    id = undefined;
}

内嵌式、外联式样式操作

// 外部操作样式表

//1 CSSStyleSheet 对象对象集合

    var styleSheetList =  document.styleSheets;
    //CSSStyleSheet 对象表示一个单独的 CSS 样式表。
    //及·html中一个style元素块,或一个连接的外部css文件
    //CSS 样式表由 CSS 规则组成,可以通过 CSSRule 对象操作每条规则
    //CSSStyleSheet 对象允许您查询、插入和删除样式表规则。
    
// 2 获取你要操作的样式表对象

    var styleObj = styleSheetList[0];
    //把单独的样式表提取出来,下标的数值与在文档中的书写顺序有关

// 3 获得style对象的样式规则的集合(数组)

    var cssRulesList =   styleObj.cssRules;
    //一个样式表中包含一个或多css规则(选择器),通过cssRules属性将其全部提取出来

// 4 获得CSSStyleRule 样式规则对象

    var cssRuleObj = cssRulesList[0];
    //去除第一规则(选择器)对象

// 5 通过样式规则对象的style对象对应的属性

    var w = cssRuleObj.style.width;
    //查询提取出来的规则中的属性值


    var w = document.styleSheets[0].cssRules[0].style.width;
    //这是上诉步骤的简写方式

//兼容性   
    // cssRules 该属性只在 谷歌 和 火狐有效    iE不支持
    // rules   该属性只有 iE支持 谷歌支持   但是 火狐不支持
    
    var w = document.styleSheets[0].rules[0].style.width;
    //使用rules提取出规则集合

    var w = document.getElementsByTagName("div")[0].currentStyle.width;
    //IE 

//兼容性写法
    var styleObjlist = document.styleSheets[0].cssRules                     
                            ||document.styleSheets[0].rules;
    var value = styleObjlist.style.width;

最终样式操作

//最终样式的读取

    var colorValue = divObj.currentStyle.color;
    //在Ie中 每个对象(元素) 都有都有一个currentStyle对象

    var styleObj =  window.getComputedStyle(元素对象);
    var colorValue = window.getComputedStyle(divObj).color;
    //火狐中 getComputedStyle(元素)

    // 操作最终样式 只能是只读的。   divObj.currentStyle.color="blue" (不能写,不能设置值);
    // 如果要设置值: 请用  元素对象.style.样式属性 = 指


//  兼容性写法
    /**
     * obj: 元素对象
     * attrString: 属性名(字符串)
    **/
    function  getCssStyle(obj,attrString){
        if(document.all){
            return  obj.currentStyle[attrString];
        }else{
            return  window.getComputedStyle(obj)[attrString];
        }
    }

   return  document.all? 
       obj.currentStyle[attrString] : window.getComputedStyle(obj)[attrString];
    //还可以使用三目运算符简写

 

免责声明:文章转载自《JS-DOM样式操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一个苹果证书如何多次使用——导出p12文件Laravel之队列下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件...

EXTJS4自学手册——EXT基本方法、属性(onReady、define、create)

1.Ext.onReady 说明:onReady内的语句块会在页面上下文加载后再执行 例子: <html><head><title>Index</title><link href="http://www.cnblogs.com/Scripts/ext-4.0.7-gpl/ext-4.0.7-gpl/...

Groovy 学习手册(5)

8. 函数式编程 函数式编程(FP)是一种编程风格,侧重于函数和最小化状态的变化(使用不可变的数据结构)。它更接近于用数学来表达解决方案,而不是循序渐进的操作。 在函数式编程里,其功能应该是“无副作用”(不会改变外部功能),参考透明的(一个函数每次传递相同的参数,返回相同的值)。 函数式编程可以被看作是一种更常见的命令式编程的替代,它更接近告诉计算机遵循每...

C#基础知识——类的继承

  继承是C#的三大特性之一,它实现了多态性和代码复用   我们可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类。   Student、Teacher、Driver    子类 派生类  Person                  父类 基类 1.  子类继承了父类,那么子类从父类那里继承过来了什么?...

div包裹页面后多余部分没有显示,也没滚动条 overflow 属性设置

今天弄个div套着一个页面结果那个页面超出范围后页面没有滚动条可以滚动浏览下面的内容,原来是设置了overflow的hidden属性 visible 默认值。内容不会被修剪,会呈现在元素框之外。 hidden 内容会被修剪,并且其余内容是不可见的。 scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 auto 如果内容被...

html5基础知识

html5<!DOCTYPE>标签html5只有一种,即:<!DOCTYPE HTML>示例:<!DOCTYPE html><html><head><title>html5_title</title></head><body>html5内容</...