1.数组

① 删除内容

Array.prototype.removeByValue = function(val) {
for(var i=0; i<this.length; i++) {
if(this[i] == val) {
this.splice(i, 1);
break;
}
}
}
var opsArr = ['name','kg','sex','mil'];
opsArr.removeByValue('mil');
console.log(opsArr); // ["name", "kg", "sex"]

② 获取 url上的键值对

export function urlParse(){
  let url = window.location.search;
  let reg =/[?&][^?&]+=[^&]+/g;
  let Arr = url.match(reg);
  let obj = {};
  if(Arr){
     Arr.forEach((item)=>{
     let temArr = item.substring(1).split('=');
     let key = decodeURIComponent(temArr[0]);
     let value = decodeURIComponent(temArr[1]);
     obj[key] = value;
     });
  }
return obj;
};

③ rem.js

// javascript
!(function () {
var widthScreen = 750
function getScreenWidth(){
var dl = document.documentElement.clientWidth
if(!dl){
dl = 340
return dl
}
return dl
}
var widthDl = getScreenWidth()
var sheet = (function () {
var style = document.createElement("style")
style.appendChild(document.createTextNode("html { font-size:" + (100*widthDl / widthScreen) + "px !important}"))
document.head.appendChild(style)
return style.sheet;
})();
window.addEventListener("resize", function () {
var dlResize = getScreenWidth()
sheet.insertRule("html { font-size:" + (100*dlResize / widthScreen) + "px !important}", sheet.rules.length);
sheet.deleteRule(0);
});
})();
 
④//判断是否有class
export function hasClass(el, className) {
let reg = new RegExp('(^|\\s)' + className + '(\\s|$)');
return reg.test(el.className);
}
⑤//添加class
export function addClass(el, className) {
if (hasClass(el, className)) {
return;
}
let newClass = el.className.split(' ');
newClass.push(className);
el.className = newClass.join(' ');
}
⑥//设置 /获取 自定义data- 属性的值
export function getData(el, name, val) {
const prefix = 'data-'
if (val) {
return el.setAttribute(prefix + name, val)
}
return el.getAttribute(prefix + name)
}
//⑦ 移除class
export function removeClass(el, className) {
if (!hasClass(el, className)) {
return
}
let newClass = el.className.split(' ');
newClass = newClass.splice(className,1);
el.className = newClass.join(' ');
}
let newClass = el.className.split(' ');
 
newClass.splice(newClass.indexOf(className),1);
el.className = newClass.join(' ');
}
//关于联动 前提引入jq
$('.menu').unbind('click').bind('click',function(){
  $(this).next().stop().slideToggle().siblings(".moremenu").slideUp();
  $(this).toggleClass("current").siblings(".menu").removeClass("current"); //current 父级变换图标
});
// 关于js 直接style css3 
比如: document.getElementById('div').style.transfrom =''
 

let elementStyle = document.createElement('div').style
let vendor = (() => {
let transformNames = {
webkit: 'webkitTransform',
Moz: 'MozTransform',
O: 'OTransform',
ms: 'msTransform',
standard: 'transform'
}
for (let key in transformNames) {
if (elementStyle[transformNames[key]] !== undefined) {
return key
}
}
return false
})()
export function prefixStyle(style) {
if (vendor === false) {
return false
}
if (vendor === 'standard') {
return style
}
return vendor + style.charAt(0).toUpperCase() + style.substr(1)
}
// 用法
const transform = prefixStyle('transform')
this.$refs.lyricList.$el.style[transform] = `translate3d(${offsetWidth}px,0,0)`
    

basic.js的更多相关文章

  1. CEF3开发者系列之JS与C++交互之二

    本文翻译自JavaScriptIntegration (https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration).本 ...

  2. Maven插件wro4j-maven-plugin压缩、合并js、css详解

    1.    在pom.xml文件中,引入wro4j-maven-plugin插件 <plugin> <groupId>ro.isdc.wro4j</groupId> ...

  3. java Web程序使用wro4j合并、压缩js、css等静态资源

    在Web项目中,js.css合并压缩,不仅有利于减少Http请求数量.减少宽带资源占用,还能有效的管理各种js.css的引入,使整个项目更加有序.而对于访问用户来说,其更大的好处是增加了页面的打开速度 ...

  4. JS Module

    JS Module Summary I. Why we need to use the Module? In the past, Javascript can execute independentl ...

  5. 【grunt整合版】30分钟学会使用grunt打包前端代码

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...

  6. 【grunt第二弹】30分钟学会使用grunt打包前端代码(02)

    前言 上一篇博客,我们简单的介绍了grunt的使用,一些基础点没能覆盖,我们今天有必要看看一些基础知识 [grunt第一弹]30分钟学会使用grunt打包前端代码 配置任务/grunt.initCon ...

  7. Openfire Strophe IE跨域问题

    Openfire和Strophejs网站 域名不同如何进行通信,这个问题总算解决,下面是解决步骤. 解决方案一: Chrome浏览器默认支持跨域访问 IE浏览器需要做配置:点击IE浏览器的的“工具-& ...

  8. gruntjs

    先输入命令: npm install -g grunt-clinpm install grunt --save-devgrunt –version 新建json文件:package.json { &q ...

  9. grunt 基本使用使用(一)。

    使用grunt 之前,需要做一些基本工作. 1.在E盘 新建空文件夹 grunt. 2.在grunt目录下新建package.json 文件,用了存储 npm模块的依赖项.基本依赖块代码如下: { & ...

随机推荐

  1. tensorflow中tf.ConfigProto()用法解释

    在看C3D代码的时候,看见有一段代码是 config = tf.ConfigProto()#主要是配置tf.Session的运行方式,GPU还是CPU,在这里选择的是GPU的运行方式 config.g ...

  2. c#UDP协议

    UDP协议是不可靠的协议,传输速率快 服务器端: using System; using System.Collections.Generic; using System.Linq; using Sy ...

  3. update linux dns,no need restart

    [root@hc--uatbeta2 ~]# cd /etc[root@hc--uatbeta2 etc]# vi resolv.conf ******* nameserver 10.123.23.*

  4. POE 供电

    受电设备(PD)和供电设备(PSE) 标准的五类网线有四对双绞线但是在10M BASE-T和100M BASE-T中只用到其中的两对.IEEE80 2.3af允许两种用法: 1.应用空闲脚供电时4.5 ...

  5. linux 优化(一)

    uptime up 表示系统正在运行 10:54:19 表示当前时间 8 min 表示系统启动的总时间 1 user 表示正在登陆用户数 load average 表示系统平均负载,最后三个数字呢,依 ...

  6. python德国信用评分卡建模(附代码AAA推荐)

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 python信用评分卡建模视频系列教程(附代码)  博主录制 https://study.163.com/course/i ...

  7. Java并发注解Annotation

    Java并发编程中,用到了一些专门为并发编程准备的 Annotation. 主要包括三类: 1.类 Annotation(注解) 就像名字一样,这些注解是针对类的.主有要以下三个: @Immutabl ...

  8. 【C#】C#获取文件夹下的所有文件

    #基础知识 1.获得当前运行程序的路径 string rootPath = Directory.GetCurrentDirectory(); 2.获得该文件夹下的文件,返回类型为FileInfo st ...

  9. IDEA DEBUG无法启动

    如题:idea DEBUG无法启动 解决方法: 1.查找出占用进程id 2.杀死进程 cmd 输入 命令: 1.netstat -ano|findstr 4405 2.taskkill -f -pid ...

  10. idea中加入tomcat

    File—>Setting—>Build,Execution,Deployment—->Application Servers—>”+”这里添加了之后Edit Configur ...