2017IFE-听指令的小方块(一)

作者: 朋友喜欢叫我春哥 | 来源:发表于2017-10-15 20:39 被阅读18次

前言

2017-百度前端技术学院编码任务:听指令的小方块(一)

任务目的

  • 练习JavaScript在DOM、字符串处理相关知识
  • 练习对于复杂UI,如何进行数据机构建模

任务描述

DEMO

项目地址

实现

思路

设置小方块绝对定位,然后通过JS去控制它前进和转向。

但是这里主要有2个问题

  • 复杂UI数据构造
    UI构造我是根据自己的DOM棋盘结构来封装构造函数。
  • 小方块的动作设置。
    格子的动作分为前进和旋转2个动作,前进判断旋转角度后设置lefttop的数值来实现前进,旋转通过改变方块CSS3 transform rotate的属性进行旋转角度。

问题

如何读写元素最终的CSS属性值呢?

  1. style-可读可写
    使用style属性,仅仅只能获取和设置行内的样式,如果是通过内联<style>或链接<link>提供的样式规则就无可奈何了
var box = document.querySelector('.box')

box.style.transform //  "" 为空字符串,无法获取非style的CSS属性值

  1. getComputedStyle-可读不可写
    使用getComputedStyle可以读取元素最终的CSS属性值,但是无法设置。
let elem = document.getElementById("elem-container");

let theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("height");
// window.getComputedStyle(elem,null).height;
// getPropertyValue方法可以获取CSS样式申明对象上的属性值(直接属性名称)
  1. CSSStyleSheet-对象可读可写
    CSSStyleSheet类型表示通过<link>元素和<style>元素(注意这两种形式的都包括)包含的样式表,找到该元素CSSStyleRule对象,通过对style属性进行读写。
document.styleSheets;                       //StyleSheetList,集合
var sheet = document.styleSheets[0]; 

// 查看元素left
sheet.rules[9].style.getPropertyValue('left')     // "80px"

// 设置元素left
sheet.rules[9].style.left = '120px'

参考链接

获取元素CSS值之getComputedStyle方法
获得div元素的translateY值
getComputedStyle
DOM系列---DOM操作样式

相关文章

  • 2017IFE-听指令的小方块(一)

    前言 2017-百度前端技术学院编码任务:听指令的小方块(一) 任务目的 练习JavaScript在DOM、字符串...

  • 听指令

    夕一手扶着我站起来,想让我抱,我指着不远处的水杯跟她说:夕把夕夕水杯拿过来,放到妈妈手上,我们去倒水。 她看看水杯...

  • 听猫的指令

    “……猫。” “啥?” “那里,第一扇窗。外边的窗沿上趴着一只白猫呀。看起来好小。” 漫不经心地听着课的他,由于这...

  • 听指令想到的

    如果没有交集 你还是我敬仰的女强人 由于你的急功近利和专业水平 伤害了积极进取认真钻研并稍有建树的心 少说话吧 否...

  • 小方块(一)

    我曾经拥有一个方块形的地方,从南到北,从西向东,遍布的都是我熟悉的地方。如果那时你遇见了我,我会向你细数门后院前的...

  • Css 盒子模型

    1.那什么是盒模型呢? 简单的理解为,你可以把每个html标签当成一个小方块,然后这个小方块又包着几个小方块,如同...

  • 2018-11-09

    拖拽小方块

  • 小方块

    我好像很久之前一直叫他小方块。 身高170.体重170,当然也是很久前。 前几天偶尔聊天,他说,小刘瑞,有时间到上...

  • 小方块

    清晨 小方块醒了 许多三角还在沉眠

  • 小方块

    过年记忆篇: 打麻将已经成为大家所喜爱的娱乐项目,不分时间跨越也不分年龄阶段,麻将是一项茶余饭后的娱乐游戏项目,打...

网友评论

    本文标题:2017IFE-听指令的小方块(一)

    本文链接:https://www.haomeiwen.com/subject/azwgyxtx.html