这个题很简单的,就是用一个按钮切换二个菜单的显示和隐藏。比昨晚的查找重复字符串要简单的多。...参与写作业的同学们基本都写的不错,思路也都OK,用原生JS,jQuery,ES6都可以,, 暴露出来的问题主要有二个, 一是DOM查找的效率问题,这个大家自己其实都懂,我就提一下不多说了哈,, 二是判断条件的选择...,就是用什么来做为if的判断条件,我个人觉得以下这种用字符串来判断,应该是不太OK的。。...我也确实是没测试,按说应该是可以运行,, 反正,我不太推荐这么写。 OK,今天的作业很简单,就说这么多了。
用js实现一个弹出图层,具体效果: 点击按钮后弹出图层,图层处于页面中间、带有阴影的圆角边框、图层中有input、提交按钮、关闭按钮、标题,弹出后背景页面不可点击、背景变灰。...background-color: #999; } 打开弹出图层 弹出图层 提交 × <script...如果想隐藏JS功能逻辑,可用JShaman对JS代码进行混淆加密,加密后的代码是密文状态,不可读、不可分析。
居然可以用 js 写 PPT 用powerpoint或者keynote写演示文稿,对于代码、数学公式等的支持一直是个痛点。而且对于前端同学来说,一身的css功力用不上也是个痛点。...> ...> 支持markdown reveal.js的第一个强大功能是直接可以使用markdown来写演示文稿。...> </script...更进一步 除了上面介绍的基本特性之外,reveal.js支持自动播放、自制插件、支持处理事件等等有利于开发人员写slides的特性。相信能给你的slides带来新的好玩的东西,将汇报与分享变成乐趣。
前言 在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS 写 JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的!...Webpack/Rollup/Babel(@babel/parser) 等第三方库也是使用 acorn.js 作为自己 Parser 的基础库。(站在巨人的肩膀上啊!)...acorn.js parse 返回值符合 ESTree spec 描述的 AST 对象,这里我们使用@types/estree 做类型定义。...: Expression | null; } Identifier 顾名思义,标识符节点,我们写 JS 时定义的变量名,函数名,属性名,都归为标识符。...JavaScript Build a JS Interpreter in JavaScript Using Acorn as a Parser
每次写这玩意好麻烦啊, 把他封装起来, 需要的时候调用就好了 思路 因为每个input标签的name如果相同的话, 在后端接收的时候会出错, 所以我的解决办法就是在name后加上一个数字, 后端用一个循环进行接收...点击第一行的添加 点击的时候, 将div准备好, 添加到内容div中的第一个 点击每行的添加 将div添加到当前点击行后面一个 点击每行删除 删除当前div 实现 基本思路很简单, 只要在每个点击按钮上添加对应的点击事件...我在封装的时候喜欢先想用的时候怎么用, 然后根据这个思路来想应该怎么封装, 思考如下 因为添加的div肯定是不同的, 是需要传的参数, 但是如果直接传div字符串也太丑了, 应该在页面直接写HTML,...'] || 'content_div_id'; var exampleDivId = params['example_div_id'] || 'example_div_id'; var...this = this; this.addButton.click(function () { _this.addFistItem(); }); // 删除示例div
id="tab_c"> 内容1 内容2 内容3 内容1 内容2 内容3 内容4 ps:加自动切换的效果,可以看下一篇 用js写简单选项卡 加 自动切换效果
javascript"> 14 window.onload = function(){ 15 var oDiv1 = document.getElementById("div1...; 25 console.log(c+"用a替换公式的时候,传出来的rgb三个值都一样了,这样只能配到白到黑的灰度值。")...id="div1"> 44 45 46 47 以上,是第一种...,用rgb(r,g,b)的方式传来的, 精髓是,r=0-255之间任意值。...利用Math.random()*255取得0-254之间的无限近似小数,再利用Math的floor取整,或者用parseInt取整,得到整数0-255。然后穿进去代替rgb的响应位置即可。
DOCTYPE html> 原生js拖拽效果 <script type="text/javascript
DOCTYPE html> 模板引擎 ...Today: { date } { user.company } var tpl = new...这里面我们使用正则表达式去匹配字符串中的变量,当然,你要对js正则表达式熟练应用。
用这些新特性,我们能在不降低代码可读性与维护性的基础上畅快地写 JavaScript~ 箭头函数 将数组的内容 * 2 以前我们这么写 [1, 2, 3].map(function(each){...return each * 2; }); 用 ES6 只需这样写 [1, 2, 3].map(each=> each * 2); // 或 [1, 2, 3].map((each)=> each * 2...){ name = name || 'Jack'; } 用 ES6 只需这样写 var introSomeBody = (name = 'Jack') => { } 不定参数 数字求和 以前我们这么写...; }, 0); } 解构(Destructuring)赋值 交换两个变量的值 以前我们这么写 var temp = a; a = b; b = a; 用 ES6 只需这样写 [a, b] =...var age = options.age || 18; console.log('I am %s, I am %d years old', name, age); } 用 ES6 只需这样写
用原生js写一个"多动症"的简历 预览地址 源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现。...background: red; } 项目搭建 在这个项目中我们 使用webpack2来完成项目的构建 使用yarn来处理依赖包的管理 使用es6的写法 使用部分原生dom操作api standard.js...代码风格约束利器) 目录结构如下 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(封装的dom操作模块) 最后app.js...markdownToHtmlWrap) .then(showStylesWrap.bind(null, 2)) 可以看到,代码清爽了很多,纵向发展,应用第一步第二步第三步...一眼就能够看出来,当然实现的逻辑是将原来的相关的模块用Promise
用原生js写一个"多动症"的简历 预览地址 源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现。...background: red; } 项目搭建 在这个项目中我们 使用webpack2来完成项目的构建 使用yarn来处理依赖包的管理 使用es6的写法 使用部分原生dom操作api standard.js...(代码风格约束利器) 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(封装的dom操作模块) 最后app.js...markdownToHtmlWrap) .then(showStylesWrap.bind(null, 2)) 可以看到,代码清爽了很多,纵向发展,应用第一步第二步第三步...一眼就能够看出来,当然实现的逻辑是将原来的相关的模块用Promise
.style.left; objY = div1.style.top; mouseX = e.clientX; mouseY...= document.getElementById("div1"); var x = e.clientX; var y = e.clientY;...(mouseX) + "px"; div.style.top = parseInt(objY) + parseInt(y) - parseInt(mouseY) +..."px"; document.getElementById("span1").innerHTML = "x:" + div.style.top + " " + "y...= document.getElementById("div1"); div.style.left = (parseInt(x) - parseInt(mouseX
接下来让我们一步步完成它 项目搭建 在这个项目中我们 1、使用webpack2来完成项目的构建 2、使用yarn来处理依赖包的管理 3、使用es6的写法 4、使用部分原生dom操作api 5、standard.js...代码风格约束利器) 目录结构如下 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(封装的dom操作模块) 最后app.js...我们来看一下promise分支中app模块最终的写法 可以看到,代码清爽了很多,纵向发展,应用第一步第二步第三步...一眼就能够看出来,当然实现的逻辑是将原来的相关的模块用Promise包装起来,并且在原来回调函数执行的地方
css: .notclick{ pointer-events: none; } js: $("#divID"/".divClass").addClass("notclick");//设为不可点击
js动态创建div等元素实例 </head...('div'); div.id="createDiv"; div.style.cssText = 'border:1px solid red; width:200px; z-index:...100; height:20px;'; document.body.appendChild(div); }, appendDivChild:function(){ var div...= document.createElement('div'); div.id="appendDivChild"; div.style.cssText = 'border:1px solid...green; width:400px; z-index:100; height:100px;'; var childDiv= document.createElement('div');
今天用CSS写一个缺角的div,大致的效果是这样的,div的左上角和右上角缺掉了一块的效果,简称为缺角div ? <!...background-repeat: no-repeat; }
http://data.eastmoney.com/jgdy/tj.html 我们希望抓取的是js生成的表格。 ...这种带有js的网站抓取其实不是那么简单的,基本分为那么几种方法,一种是观察页面,有的会有json数据,有的有js代码可以解析目标的url;一种是使用渲染工具;还有一种就是用工具来点击相关button,来抓取...我们希望爬取的是表格中的数据,但是如果我们仔细看一下html代码,会发现,这其实是js生成的,下面这张图是源代码的截图。 ? 这就很尴尬了,怎么办呢?...我们用浏览器自带的解析功能来试一下。首先,我们打开network,chrome内核的好像都这么叫。 ? 然后我们就点击第二页、第三页不断的来观察究竟js代码访问了什么后台的url。...接下来我们就可以用urllib来获得api背后的json内容了,比如是这样的: ?
同时,得益于Promise,我们在异步函数里可以这样写: (async () => { const data = await sleepSort([4, 5, 3, 6, 8]) console.log
标签中的内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响 //头部的win啊,doc啊 $ 啊都是底部的window...号(叹号)或者;(分号)这不是写错了,为了防止那个二货写的js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...this的指向为调用的实例;我们此时姑且认为this就指向这个函数;因为这样我们之后再想获取这个div就可以直接用this.div了好吗;而不是在document.getElementById(。。。。.../既然找到了div我们在找下div下面的input;当然你要不input用获取id的形式传参数我没有意见 this.num = 0;//你也可以写一些其他的默认的东西;比如默认的变量啦;..._self = this;就可以用_self 代替this(函数实例)了;当然_self 也可以写成别的 比如$this等自定义的 }*/ }
领取专属 10元无门槛券
手把手带您无忧上云