常用的js代码合集
!function(util){
window.Utils = util();
}(
function(){
//document_event_attributes
var DEA = "doc-attr";
var key = function(dom){ return true; };
document.addEventListener("click",function(e){
var dom = e.target;
//判断是否进行运行
if( !key(dom) ) { return };
//对dom进行taggle调用
var _dom = dom;
var dea = null;
for( var i=0;i<3;i++ ){
dea = _dom.getAttribute(DEA);
if( dea ){
dea = dea.split(" ");
for( var i in dea )
util.elementEventAttributes[dea[i]](_dom);
break;
}
_dom = util.parent(_dom);
}
})
//工具对象
var util = {
//对document进行的属性操作指令
//直接通过标签进行事件识别
elementEventAttributes : {}
//版本号
version : '1.0'
};
util.$ = function(querySelect){
if( typeof $ !== undefined || typeof jQuery !== undefined ){
return Array.prototype.slice.apply(jQuery(querySelect));
}else if( document.querySelectorAll ){
return document.querySelectorAll(querySelect);
}else {
//扩展ie查询
// return document.querySelectorAll(querySelect);
return [];
}
}
//绑定事件
util.addEvent = function(element,name,call){
element.addEventListener(name,call);
}
//查询是否存在class
util.hasClass = function(dom,className){
var name = dom.className;
var nameA = name.replace(/\s{2,}/g," ").split(" ");
if( nameA.indexOf("className") ){
}
}
//获取父级
util.parent = function(dom){
return dom.parentElement;
}
//显示
util.show = function(element){
if( util.SplitFunction() ) return
element.oldDisplay = element.style.display;
element.style.display = "block";
}
//隐藏
util.hide = function(element){
if( util.SplitFunction() ) return;
element.style.display = element.oldDisplay || "none";
}
//隐藏
util.taggle = function(element){
if( util.SplitFunction() ) return;
if( util.isElementVisible(element) ){
util.hide(element);
}else{
util.show(element);
}
}
//打开全屏方法
util.openFullscreen = function(element) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullScreen();
}
}
//退出全屏方法
util.exitFullScreen = function() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExiFullscreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
//将函数的参数如果是数组传入的话 进行拆分多次执行
util.SplitFunction = function(name){
//获取函数名
var name = name || arguments.callee.caller;
//获取函数参数
var argu = arguments.callee.caller.arguments;
if( argu.length !== 1 ) return;
argu = argu[0];
//如果参数为数组 切只有一个的话
if( util.isArray(argu) ){
for( var i in argu ){
if( util.isArray(argu[i]) ) continue;
name(argu[i]);
}
return true;
}else{
return false;
}
}
util.download = function(filename, text){
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
element = null;
}
util.getTime = function(i){
var t = new Date();
return t.getFullYear()+"_"+t.getMonth()+"_"+t.getDay();
}
util.isArray = function(obj){
return typeof obj === "object" && obj.length !== undefined && obj.push !== undefined;
}
util.isElementVisible = function(obj){
return !(obj.style.display === 'none');
}
//属性函数 显示按钮
util.elementEventAttributes.showBtn = function(dom){
var opt_queryselect = dom.getAttribute("showBtn-queryselect") || dom.getAttribute("e-queryselect");
if( !opt_queryselect || opt_queryselect === "" || !dom ) return;
var doms = util.show(util.$(opt_queryselect));
}
//属性函数 显示按钮
util.elementEventAttributes.hideBtn = function(dom){
var opt_queryselect = dom.getAttribute("hideBtn-queryselect") || dom.getAttribute("e-queryselect");
if( !opt_queryselect || opt_queryselect === "" || !dom ) return;
var doms = util.hide(util.$(opt_queryselect));
}
//属性函数 显示按钮
util.elementEventAttributes.taggleBtn = function(dom){
var opt_queryselect = dom.getAttribute("taggleBtn-queryselect") || dom.getAttribute("e-queryselect");
if( !opt_queryselect || opt_queryselect === "" || !dom ) return;
var doms = util.taggle(util.$(opt_queryselect));
}
//属性函数 checkbox 总开关
util.elementEventAttributes.checkboxBtn = function(dom){
setTimeout(function(){
var opt_queryselect = dom.getAttribute("checkboxBtn-queryselect") || dom.getAttribute("e-queryselect");
if( !opt_queryselect || opt_queryselect === "" || !dom ) return;
for( var i in opt_queryselect ){
opt_queryselect[i].checked = dom.checkbox;
opt_queryselect[i].change
}
})
}
//属性函数 开启全屏
util.elementEventAttributes.onFullScreen = function(dom){
util.openFullscreen(dom);
}
//属性函数 关闭全屏
util.elementEventAttributes.offFullScreen = function(dom){
util.exitFullScreen(dom);
}
//属性函数 taggle全屏
util.elementEventAttributes.taggleFullScreen = function(dom){
var opt_queryselect = dom.getAttribute("taggleFullScreen-queryselect") || dom.getAttribute("e-queryselect");
var _dom = util.$(opt_queryselect)[0];
if( !document.fullscreenElement ){
//如果不存在当前全屏的对象
return util.openFullscreen(_dom);
}else if( document.fullscreenElement === _dom ){
//如果全屏对象等于传入函数
return util.exitFullScreen();
}else {
//即存在的全屏对象不等于传入的操作dom
util.exitFullscreen()
return util.exitFullScreen(_dom)
}
}
//属性函数 taggle文案
util.elementEventAttributes.taggleAttr = function(dom){
var opt_queryselect = dom.getAttribute("taggleAttr-queryselect") || dom.getAttribute("e-queryselect");
var opt_replace = dom.getAttribute("taggleAttr-replace");
var opt_replacetype = dom.getAttribute("taggleAttr-replacetype") || "innerText";
var _dom = util.$(opt_queryselect)[0];
var old = _dom[opt_replacetype];
_dom[opt_replacetype] = opt_replace;
dom.setAttribute("taggleAttr-replace",old);
}
return util;
}
)
API
addEvent(element,name,call) //绑定函数
hasClass(dom,classname,newClass) //判断是否存在class 可以选择替换
parent(element) //获取父级
show(element) //显示
hide(element) //隐藏
taggle( element ) //交替显示或隐藏
openFullscreen( element ) //打开全屏方法
exitFullScreen() //退出全屏方法
SplitFunction( ) //将函数的参数如果是数组传入的话 进行拆分多次执行
download( filename , text ) //下载 文件名 文件内容
getTime(index) //获取时间 格式为 year_month_day
isArray(obj) //判断类型
isElementVisible(element) //判断是否是隐藏的
doc-attr 函数合集
showBtn //显示按钮
showBtn-queryselect //显示对象的css选择器表达式 通用queryselect
hideBtn
hideBtn-queryselect //显示对象的css选择器表达式 通用queryselect
taggleBtn
taggleBtn-queryselect //显示对象的css选择器表达式 通用queryselect
checkboxBtn //属性函数 checkbox 总开关
checkboxBtn-queryselect //选择器
onFullScreen //开启全屏
onFullScreen-queryselect
offFullScreen //关闭全屏
taggleFullScreen
taggleFullScreen-queryselect
taggleAttr
taggleAttr-queryselect
taggleAttr-replace //替换的值
taggleAttr-replacetype //替换的属性 默认为innerHTML
常用的js代码合集的更多相关文章
- 前端常用的js 插件合集
- 【转载】GitHub 标星 1.2w+,超全 Python 常用代码合集,值得收藏!
本文转自逆袭的二胖,作者二胖 今天给大家介绍一个由一个国外小哥用好几年时间维护的 Python 代码合集.简单来说就是,这个程序员小哥在几年前开始保存自己写过的 Python 代码,同时把一些自己比较 ...
- git常用代码合集
git常用代码合集 1. Git init:初始化一个仓库 2. Git add 文件名称:添加文件到Git暂存区 3. Git commit -m “message”:将Git暂存区的代码提交到Gi ...
- 计算机视觉与模式识别代码合集第二版two
Topic Name Reference code Image Segmentation Segmentation by Minimum Code Length AY Yang, J. Wright, ...
- 计算机视觉与模式识别代码合集第二版three
计算机视觉与模式识别代码合集第二版three Topic Name Reference code Optical Flow Horn and Schunck's Optical Flow ...
- [ZZ] UIUC同学Jia-Bin Huang收集的计算机视觉代码合集
UIUC同学Jia-Bin Huang收集的计算机视觉代码合集 http://blog.sina.com.cn/s/blog_4a1853330100zwgm.htmlv UIUC的Jia-Bin H ...
- WooCommerce代码合集整理
本文整理了一些WooCommerce代码合集,方便查阅和使用,更是为了理清思路,提高自己.以下WooCommerce简称WC,代码放在主题的functions.php中即可. 修改首页和分类页面每页产 ...
- 127个常用的JS代码片段,每段代码花30秒就能看懂(上)
127个常用的JS代码片段,每段代码花30秒就能看懂(上) JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript.” FreeCode ...
- 常用的js代码片段
1.单选框/手风琴 <script> $(document).ready(function(){ $("dd").on("click",functi ...
随机推荐
- Evosuite使用方法入门
Evosuite使用方法入门 1.简要介绍 EvoSuite开源工具可以基于Eclipse进行测试用例的自动生成,生成的测试用例符合Junit标准(直接生成可进行Junit的java文件),满 ...
- Reactor和Proactor
服务器编程框架 IO处理单元 :处理用户连接,读写网络数据:(单机) :作为接入服务器,实现负载均衡;(集群) 请求队列 :各个单元之间通信的抽象,通常被实现为池的一部分:一个单元通知另外一个单元,或 ...
- 在mysql配置文件修改sql_mode或sql-mode 怎么办?
很多在安装程序配置数据库这一步中会出现: 请在mysql配置文件修改sql_mode或sql-mode 这个问题处理很简单: mysql中修改my.cnf,找到sql_mode,修改值为: NO_AU ...
- Windows7 Autoconfiguration IPv4 Address 导致无法上网
Windows7 Autoconfiguration IPv4 Address 导致无法上 (2010-03-30 16:44:57) 转载▼ 标签: 杂谈 分类: 电脑软件问题 Windows7 A ...
- [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点
深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...
- IO练习
#IO操作 import time; fileObj = open('log.txt','a'); while(True): data = input('请输入要写入的内容 : '); if data ...
- python基础知识16---函数补充
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
- 64位Win7系统nbtstat 问题
64位Win7系统nbtstat 问题 姜糖水 2015-02-02 195 阅读http://ju.outofmemory.cn/entry/114353 在32位系统写:"cmd / ...
- HTML 理解标签 - meta
meta标签 , 常用的有以下几个属性: 1. name : 比较常见的一些属性 author: 就是这个文档的作者名称,可以用自由的格式去定义 description: 包括一个关于页面内容的缩略而 ...
- 1、redis 基础
1.1 导言 如果你从来没使用过 Redis 数据库,那你肯定会问,为什么我们要学 Redis数据库,我只使用 MySQL 或 Oracle 就够了.其实 Redis 虽叫数据库,可又不是传统意义上的 ...