常用的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 ...
随机推荐
- 必做作业3:原型化设计:地铁扫码app
一.设计背景 伴随着地铁规模的快速扩张,使用手机扫码进出站成为了一种新型的地铁出行方式.在今天的北京和上海,地铁扫码已经极为普遍,广州和深圳也正在快速普及这种新方式.相信在不久的将来,其他拥有地铁或者 ...
- [R] [Johns Hopkins] R Programming 作業 Week 2 - Air Pollution
Introduction For this first programming assignment you will write three functions that are meant to ...
- java-log4j日志打印
参考路径: https://blog.csdn.net/edward0830ly/article/details/8250412 https://www.cnblogs.com/ITtangtang/ ...
- 纪念使用FTPClient工具所遇到的
我所使用的是org.apache.commons.net.ftp.FTPClient. 查了资料还有其余几个FTPClient,其余的先不展开. 1.ftpClient.changeWorkingD ...
- Redis类的源码使用
$redis = new Redis(); //连接redis服务器 $redis->connect('127.0.0.1', '6379'); $key = "key"; ...
- DateTime?,也是一种类型,代表DateTime或NULL两种类型,在处理空时间时比较有用
public static DateTime? GetDateTimeFromStr(string date) { if (date.Trim() == string.Empty) return nu ...
- oracle 删除用户
-- 查询用户各进程相对应的 sid.serial#. -- 注意: username 必须大写 SELECT sid,serial#,username FROM v$session WHERE us ...
- MapReduce作业的工作原理
在Hadoop中,我们可以通过Job对象的submit()方法来运行MapReduce作业,也可以调用waitForCompletion()用于提交以前没有提交过的作业,并等待它的完成.其中,subm ...
- bzoj5107: [CodePlus2017]找爸爸
Description 小A最近一直在找自己的爸爸,用什么办法呢,就是DNA比对.小A有一套自己的DNA序列比较方法,其最终目标是最 大化两个DNA序列的相似程度,具体步骤如下:1.给出两个DNA序列 ...
- C# 6.0:在catch和finally中使用await
Asyn方法是一个现在很常用的方法,当使用async和await时,你或许曾有这样的经历,就是你想要在catch块或finally块中使用它们,比如当出现一个exception而你希望将日志记在文件或 ...