一个可以随意添加多个序列的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 相关文章推荐
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
jquery命令汇总,方便使用jquery的朋友
Jun 26 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
Eclipse去除js(JavaScript)验证错误
Feb 11 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
学习JavaScript设计模式之代理模式
Jan 12 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
javascript表单控件实例讲解
Sep 13 Javascript
vue日期组件 支持vue1.0和2.0
Jan 09 Javascript
vue实现全选和反选功能
Aug 31 Javascript
vue滚动固定顶部及修改样式的实例代码
May 30 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
Mar 17 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
apache php mysql开发环境安装教程
2016/07/28 PHP
php并发加锁示例
2016/10/17 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
浅谈Python单向链表的实现
2015/12/24 Python
Python中optparser库用法实例详解
2018/01/26 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
python将视频转换为全字符视频
2019/04/26 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
清洁工表扬信
2014/01/08 职场文书
高中军训广播稿
2014/01/14 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
理想演讲稿范文
2014/05/21 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python