一个可以随意添加多个序列的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 相关文章推荐
表单提交时自动复制内容到剪贴板的js代码
Mar 16 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 Javascript
分享网页检测摇一摇实例代码
Jan 14 Javascript
老生常谈JavaScript中的this关键字
Oct 01 Javascript
阿里云ecs服务器中安装部署node.js的步骤
Oct 08 Javascript
探究Vue.js 2.0新增的虚拟DOM
Oct 20 Javascript
vue.js绑定class和style样式(6)
Dec 09 Javascript
js返回顶部实例分享
Dec 21 Javascript
Jquery鼠标放上去显示全名的实现方法
Feb 06 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 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四种基础算法代码实例
2013/10/29 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
不安全的常用的js写法
2009/09/15 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
浅谈django的render函数的参数问题
2018/10/16 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Django实现跨域的2种方法
2019/07/31 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
全球最大的服务市场:Fiverr
2017/01/03 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
学习交流会主持词
2014/04/01 职场文书
语文教研活动总结
2014/07/02 职场文书
党员志愿者活动方案
2014/08/28 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
质量保证书格式
2015/02/27 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python