JS-点和中括号
今天上午做一个很low的小练习,代码写完了想要封装重复利用来着
可是憋屈啊,怎么都不对,在document.style.width这里,想把width变成参数可是用点的话,会报错说找不到点后边这个属性
也是啊,点就是“的”的意思,点后边放一个abc代替,他当然会认为你要找style里边的abc属性啊。不妥,固不可、
听视频听到方括号这里,廓然打通了我的任督二脉,恍然大悟
可以用方括号代替啊!
其实这个用法还是很常见的,像dom二级事件里就要用到。
估计以后用方括号代替点来解决bug的时候还是很多的,虽然以前学到过,今天用到了就忘得一干二净到处抓狂
得get下来,留白、占位。
“原”代码:
//change 封装到我实在无能为力的精简版
function widthFun(a,c){
a.onclick = function(){
beSet.style.width = c+"px";
this.className = "mwjs-1-seting-cur";
}
}
widthFun(w200,200);
widthFun(w300,300);
widthFun(w500,500);
function heightFun(a,c){
a.onclick = function(){
beSet.style.height = c+"px";
this.className = "mwjs-1-seting-cur";
}
}
heightFun(h200,200);
heightFun(h300,300);
heightFun(h500,500);
function borFun(a,c){
a.onclick = function(){
beSet.style.borderWidth = c+"px";
this.className = "mwjs-1-seting-cur";
}
}
borFun(bor4,2);
borFun(bor6,6);
borFun(bor8,8);
function bgFun(a,c){
a.onclick = function(){
beSet.style.backgroundColor = c;
this.className = "mwjs-1-seting-cur";
}
}
bgFun(bgRed,"red");
bgFun(bgYellow,"yellow");
bgFun(bgBlue,"blue");
原js代码
任督二脉打通后的代码:
function clickFun(a,b,c,d){
a.onclick = function(){
beSet.style[b] = d;
beSet.style[b] = c+"px";
this.className = "mwjs-1-seting-cur";
}
}
clickFun(w200,"width","200");
clickFun(w300,"width","300");
clickFun(w500,"width","500");
clickFun(h200,"height","200");
clickFun(h300,"height","300");
clickFun(h500,"height","500");
clickFun(bor4,"borderWidth","4");
clickFun(bor6,"borderWidth","6");
clickFun(bor8,"borderWidth","8");
clickFun(bgRed,"backgroundColor","","red");
clickFun(bgYellow,"backgroundColor","","yellow");
clickFun(bgBlue,"backgroundColor","","blue");
整整少了尼玛17行啊啊啊。
关键注意第三行,style后边不再是点引用一个属性了,而是用了[]:style["width"] === style.width
html(pug)
body
div#mask.mask
h3.mwjs-1-title 点击更改div的样式
input#mwjs1BtnSet(type="button",value="点我设置吧!")
div#mwjs1bySeted.mwjs-1-by-seted
div#mwjsPopWrap
h4 点击按钮尽情的设置样式吧!
span#mwjsPopClose X
.mwjs-p-wrap
p
input.mwjs-1-btn-text(type="button",value="设置宽度:")
input#mwjsWidth200.mwjs-1-seting-cur(type="button",value="200")
input#mwjsWidth300(type="button",value="300")
input#mwjsWidth500(type="button",value="500")
p
input.mwjs-1-btn-text(type="button",value="设置高度:")
input#mwjsHeight200(type="button",value="200")
input#mwjsHeight300(type="button",value="300")
input#mwjsHeight500(type="button",value="500")
p
input.mwjs-1-btn-text(type="button",value="边框粗细:")
input#mwjsBorder4(type="button",value="4")
input#mwjsBorder6(type="button",value="6")
input#mwjsBorder8(type="button",value="8")
p
input.mwjs-1-btn-text(type="button",value="背景颜色:")
input#mwjsBorderRed(type="button",value="红")
input#mwjsBorderYellow(type="button",value="黄")
input#mwjsBorderBlue(type="button",value="蓝")
p.mwjs1-submit-wrap
input#mwjs1Reset(type="button",value="重来")
input#mwjs1Submit(type="button",value="确认")
html
css(scss)
body input[type="button"]{
margin-left: 10px;
background: #3b8cff;
color: #fff;
font-size: 14px;
padding: 10px;
border: none;
outline: none;
&:hover{
background: #2c6fce;
}
}
.mwjs-1-by-seted{
width: 100px;
height: 100px;
border: 1px solid #000;
margin: 10px 20px;
}
.mask{
display: none;
position: absolute;
top:;
left:;
background: url("../images/mask.png") repeat;
width: 100%;
height: 100%;
}
#mwjsPopWrap{
display: none;
position: absolute;
top:;
left:;
right:;
bottom:;
z-index:;
width: 300px;
margin: auto;
text-align: left;
height: 300px;
background: #fff;
padding: 40px;
.mwjs-p-wrap{
margin-top: 40px;
}
p{
margin: 0 0 15px 0;
}
h4,.mwjs1-submit-wrap{
position: relative;
text-align: center;
margin: 0 0 15px 0;
}
h4{
span{
position: absolute;
top: -30px;
right: -30px;
width: 30px;
height: 30px;
border-radius: 50%;
color: #999;
line-height: 30px;
&:hover{
background: #e8e8e8;
color: #333;
cursor: pointer;
}
}
}
input{
width: 50px;
border: 1px solid #999;
border-radius: 5px;
background: #fff;
color: #333;
padding: 5px 10px;
&:hover,&.mwjs-1-seting-cur{
background: #e8e8e8;
}
}
.mwjs-1-btn-text{
width: 80px;
margin:;
background: #fff;
color: #333;
border: none;
&:hover{
cursor: text;
background: #fff;
color: #333;
}
}
.mwjs1-submit-wrap{
margin-top: 40px;
input{
background: #3b8cff;
color: #fff;
font-size: 14px;
width: auto;
padding: 10px 30px;
border: 1px solid #2c6fce;
outline: none;
border-radius:;
margin: 10px 15px;
&#mwjs1Reset{
background: #c8c8c8;
border: 1px solid #b2b2b2;
&:hover{
background: #b2b2b2;
}
}
&:hover{
background: #2c6fce;
}
}
}
}
css
JS-点和中括号的更多相关文章
- 前端知识点-JS相关知识点
1.谈谈你对Ajax的理解?(概念.特点.作用) AJAX全称为"Asynchronous JavaScript And XML"(异步JavaScript和XML) 是指一种创建 ...
- JS 前端构建工具gulpjs的使用介绍及技巧
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...
- 前端自动化之路之gulp,node.js
随着现在前端技术的不断发展,和各个公司对前端项目开发更新速度的要求,前端自动化越来越受到大家的重视,之前传统的前端开发方式已经越来越不能满足开发的需求了,于是各种自动化工具随之产生了.而gulp就是其 ...
- 【干货分享】前端面试知识点锦集03(JavaScript篇)——附答案
三.JavaScript部分 1.谈谈你对Ajax的理解?(概念.特点.作用) AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是 ...
- (转)gulp使用
前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nod ...
- 前端构建工具gulpjs的使用介绍及技巧
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...
- [Network] HTML、XML和JSON学习汇总
写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...
- java中Array/List/Map/Object与Json互相转换详解
http://blog.csdn.net/xiaomu709421487/article/details/51456705 JSON(JavaScript Object Notation): 是一种轻 ...
- Jsonp理论实例代码详解
什么是Json?JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - ...
- Json格式转换
验证Json格式可以进入 http://json.cn/ json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构1.对象:对象 ...
随机推荐
- 电快速脉冲群EFT(概念)
电快速瞬变脉冲群 简称EFT(Electrical Fast Transient)是指脉冲群有特定的持续时间(规定为15mS),特定的脉冲周期(300mS)的脉冲, 脉冲群中的单个脉冲有特定的重复周期 ...
- Windows 2008 Server搭建Radius服务器的方法
原地址:http://service.tp-link.com.cn/detail_article_1113.html (图拷贝不过来) Windows 2008 Server搭建Radius服务器的方 ...
- nodejs 模块以及加载机制,主要讨论找不到模块的问题
最主要的一个思想,加载模块无非就是找到模块在哪,只要清楚了模块的位置以及模块加载的逻辑那么找不到模块的问题就迎刃而解了.本文只是综合了自己所学的知识点进行总结,难免出现理解错误的地方,请见谅. nod ...
- 上手并过渡到PHP7(3)——Uniform Variable Syntax到底统一了什么
PHP7 up and running 泊学原文链接泊学实操视频 Uniform Variable Syntax 在PHP 7提出Uniform Variable Syntax之前,我们大多数人可能都 ...
- 在网页中使用SVG
SVG可以作为一个独立的文件存在.但更多的时候,我们希望他能集成在某个更大的文档中,比如HTML.将SVG插入到HTML中主要有以下几种方式: 将 SVG 作为图像导入 将 SVG放入 iframe ...
- ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒
我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...
- jQuery实现布局高宽自适应
在页面布局(layout)时经常是上左右的框架布局并且需要宽.高度的自适应,div+css是无法实现(*hegz:div+css其实是可以实现的,利用jQuery比较容易实现浏览器的兼容性),所以需要 ...
- 德国Aptamil不同系列奶粉间差别
以下内容均来源网络整理.汇总. 德国人做事严谨,而且对于有争议性的成分持保守态度,比如不添加麦芽糊精.所以我比较赞赏购买德国的奶粉,主要是aptamil和hipp喜宝,这两个牌子也基本没有负面新闻.但 ...
- openfire User Service 和删除分组的方法
z4PstKlN 服务器-> 系统属性 plugin.userservice.enabled 值为 true 增加用户 9090/plugins/userService/userservice? ...
- Android ListView 笔记
ListView以列表的形式展示数据内容. 布局文件如下所示,添加一个ListView. activity_main.xml <?xml version="1.0" enco ...