一个可以随意添加多个序列的tag函数


Posted in Javascript onJuly 21, 2009

/**
* @author Supersha
* @QQ:770104121
*/
由于在没有规划好的情况下写的这个代码,写的比较粗糙,也没有添加注释。
主要特点:JavaScript代码和HTML完全分离;可以随意添加多个子div标签,自动扩展
JavaScript代码:

<script type="text/javascript"> 
var tag = function(parentTagId, sunTag){ 
var oldHtml = []; 
var spans=[]; 
var tagElemment = document.getElementById(parentTagId); 
var sunElems = tagElemment.getElementsByTagName(sunTag); 
for (var i = 0; i < sunElems.length; i++) { 
oldHtml[oldHtml.length] = sunElems[i].innerHTML; 
sunElems[i].style.display = "none"; 
} 
var newElem = document.createElement("div"); 
newElem.innerHTML = oldHtml[0]; //初始化div 
tagElemment.appendChild(newElem); 
var clearID = 0, index = 0; 
clearID = setInterval(function(){ 
if(index>=1) spans[index-1].style.border="1px dotted #ccc"; 
if(index==sunElems.length-1) index=0; 
newElem.innerHTML = oldHtml[index]; 
index++; 
spans[index-1].style.border="1px solid #666"; 
}, 2000); 
for (var i = 0; i < oldHtml.length; i++) { 
var span = document.createElement("span"); 
span.innerHTML = (i + 1).toString(); 
span.id="span_tab"+i; 
span.html = oldHtml[i]; //存????脑?淼?iv?面的HTML 
spans[i]=span; 
span.onmouseover = function(){ 
if(index>=1) spans[index-1].style.border="1px dotted #ccc"; 
newElem.innerHTML = this.html; //???x值 
clearInterval(clearID); 
} 
span.onmouseout = function(){ 
index=parseInt(this.innerHTML); 
if(index>=1) spans[index-1].style.border="1px solid #666"; 
clearID = setInterval(function(){ 
if(index>=1) spans[index-1].style.border="1px dotted #ccc"; 
if(index==sunElems.length-1) index=0; 
newElem.innerHTML = oldHtml[index]; 
index++; 
spans[index-1].style.border="1px solid #666"; 
}, 2000); 
} 
tagElemment.appendChild(span); 
span = null; 
} 
spans[0].style.border="1px solid #666"; //初始化span 
} 
onload = function(){ 
tag("tag", "div"); //调用tag函数 
} 
</script> 
<style type="text/css"> 
#tag { 
border: 1px solid #eee; 
float: left; 
} #tag span { 
border: 1px dotted #ccc; 
background: #eee; 
padding: 1px 6px; 
margin-right: 8px; 
} #tag span:hover { 
background: #ccc; 
border: 1px solid #666; 
} 
</style>

HTML代码:
<div id="tag"> 
<div> 
<p> 
<b>Tag demo 1,</b> 
I will achive it. 
</p> 
</div> 
<div> 
<p> 
<b>Tag demo 2,</b> 
I will achive it. 
</p> 
</div> 
<div> 
<p> 
<b>Tag demo 3,</b> 
I will achive it. 
</p> 
</div> 
<div> 
<p> 
<b>Tag demo 4,</b> 
I will achive it. 
</p> 
</div> 
<div> 
<p> 
<b>Tag demo 5,</b> 
I will achive it. 
</p> 
</div> 
<div> 
<p> 
<b>Tag demo 6,</b> 
I will achive it. 
</p> 
</div> 
<!--....可以随意添加多个tag....--> 
</div>
Javascript 相关文章推荐
Javascript中valueOf与toString区别浅析
Mar 19 Javascript
jquery 获取表单元素里面的值示例代码
Jul 28 Javascript
JS数组的赋值介绍
Mar 10 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
微信小程序 图片上传实例详解
May 05 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
原生js实现碰撞检测
Mar 12 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 Javascript
一个cssQuery对象 javascript脚本实现代码
Jul 21 #Javascript
js计算页面刷新的次数
Jul 20 #Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
Jul 19 #Javascript
Prototype Hash对象 学习
Jul 19 #Javascript
Prototype Array对象 学习
Jul 19 #Javascript
Prototype PeriodicalExecuter对象 学习
Jul 19 #Javascript
Prototype String对象 学习
Jul 19 #Javascript
You might like
PHP下MAIL的另一解决方案
2006/10/09 PHP
php中define用法实例
2015/07/30 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
python处理中文编码和判断编码示例
2014/02/26 Python
python使用cPickle模块序列化实例
2014/09/25 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python验证企业工商注册码
2015/10/25 Python
详解python分布式进程
2018/10/08 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
Python socket聊天脚本代码实例
2020/01/02 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
教师网络培训感言
2014/03/09 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
教师岗位职责
2015/02/03 职场文书
资产移交协议书
2016/03/24 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python