js组件的写法
工作之中的不足,报了js培训班,因为工作加班原因缺了几天课(js组件开发),现在拾起来补补
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="智能社 - zhinengshe.com" />
<meta name="copyright" content="智能社 - zhinengshe.com" />
<title>智能社 - www.zhinengshe.com</title>
<!-- 写组件的步骤:
先布局 写css
创建元素 插入到指定位置
添加事件
联动
隐藏系统元素
封装
js
css -->
<script src="myRadio.js"></script>
<script>
//var added = true;
window.onload = function(){
myRadio("sex");
myRadio("city");
};
</script>
</head>
<body> <form id="form1" action="http://www.zhinengshe.com/" > <input type="radio" name="sex" value="male"/>男
<input type="radio" name="sex" value="female"/>女
<input type="radio" name="sex" value="unknow" />未知
<br />
<input type="radio" name="city" value="city1"/>city1
<input type="radio" name="city" value="city2"/>city2
<input type="radio" name="city" value="city3" />city3
<input type="submit"/>
</form> </body>
</html>
//版权 北京智能社©, 保留所有权利
(function(){
var added = false;
console.log('');
window.myRadio = function (name){ var aRadio = document.getElementsByName(name); var aSpan = [];
//创建span
for(var i = ; i < aRadio.length; i++){
var oSpan = document.createElement("span");
aSpan.push(oSpan);
oSpan.className = "my_radio";
aRadio[i].parentNode.insertBefore(oSpan,aRadio[i]); (function(index){
oSpan.onclick = function(){
for(var i = ; i < aSpan.length; i++){
aSpan[i].className = "my_radio";
}
this.className = "my_radio_active";
aRadio[index].checked = true;
};
})(i); aRadio[i].style.display = "none";
}
console.log('aaaaaa');
if(added) return;
console.log('');
added = true;
console.log('');
var oLink = document.createElement("link");
oLink.rel = "stylesheet";
oLink.href = "myRadio.css";
var oHead = document.getElementsByTagName("head")[];
oHead.appendChild(oLink); } })();
js组件的写法的更多相关文章
- js 组件的写法
var Test1 = function(){ var name = ""; this.setName = function(username){ name = username; ...
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一)
前言:出于某种原因,需要学习下Knockout.js,这个组件很早前听说过,但一直没尝试使用,这两天学习了下,觉得它真心不错,双向绑定的机制简直太爽了.今天打算结合bootstrapTable和Kno ...
- JS组件系列——BootstrapTable 行内编辑解决方案:x-editable
前言:之前介绍bootstrapTable组件的时候有提到它的行内编辑功能,只不过为了展示功能,将此一笔带过了,罪过罪过!最近项目里面还是打算将行内编辑用起来,于是再次研究了下x-editable组件 ...
- 移动web端的react.js组件化方案
背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...
- vue.js组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...
- JS组件系列——封装自己的JS组件,你也可以
前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一 ...
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...
- JS组件系列——Form表单验证神器: BootstrapValidator
前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...
- JS组件系列——分享自己封装的Bootstrap树形组件:jqTree
前言:之前的一篇介绍了下如何封装自己的组件,这篇再次来体验下自己封装组件的乐趣.看过博主博客的园友应该记得之前分享过一篇树形菜单的使用JS组件系列——Bootstrap 树控件使用经验分享,这篇里面第 ...
随机推荐
- 20135234mqy-——信息安全系统设计基础第十一周学习总结
第八章 异常控制流 8.1异常 异常是异常控制流的一种形式,它一部分是由硬件实现的,一部分是由操作系统实现的. 异常就是控制流中的突变,用来响应处理器状态中的某些变化. 8.1.1异常处理 异常号是到 ...
- devicePixelRatio手机图片模糊的原因
一.移动设备图片模糊问题 手机上图片模糊问题原因就是一个像素在电脑上和手机上代表的实际像素的不同. 我们在样式表中使用的px(独立像素)单位其实并不一定代表着实际的一个像素(物理像素),这还要看硬件的 ...
- Autotools使用流程【转】
本文转载自:http://blog.csdn.net/scucj/article/details/6079052 手工写Makefile是一件很有趣的事情,对于比较大型的项目,如果有工具可以代劳,自然 ...
- 写一个标准宏MIN,输入两个参数,返回较小的
#define MIN(A,B) ((A) <= (B) ? (A) : (B))MIN(*p++, b)会产生宏的副作用 剖析: 这个面试题主要考查面试者对宏定义的使用,宏定义可以实现类似于函 ...
- BZOJ4401: 块的计数 思维题
Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...
- [shiro] - 加入rememberMe功能
shiro不加入rememberMe没事,一加入就出错. RememberMeAuthenticationToken : public interface RememberMeAuthenticati ...
- Unity3D学习笔记(一):Unity3D简介
Unity3D简介一.什么是Unity.U3D?全面整合的专业引擎 二.这个软件能做什么?1.内容:3D2D游戏,教育,建筑,网页,VRAR,家庭娱乐系统2.媒体:PC平台,主机,移动,VR 1.UE ...
- Windows下搭建FTP服务器
一.什么是ftp? FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
- Ubuntu 14.04 禁用ipv6
参考: 关闭IPV6,ubuntu 14.04 Ubuntu 14.04 禁用ipv6 1.检查ipv6是否开启: cat /proc/sys/net/ipv6/conf/all/disable_ip ...
- POST提交大量数据,导致后面数据丢失
这个问题,解决了很久,先简单说下我解决的具体思路: 首先:form表单提交,导致后面数据丢失,考虑了提交大量的数据,导致后台溢出,剩余数据量丢失,所以从网上搜了教程: 参考链接: https://bl ...