一个可以随意添加多个序列的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 相关文章推荐
jquery 上下滚动广告
Jun 17 Javascript
jquery中animate的stop()方法作用实例分析
Jan 30 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
jQuery自定义数值抽奖活动代码
Jun 11 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
详解处理Vue单页面应用SEO的另一种思路
Nov 09 Javascript
微信小程序常用赋值方法小结
Apr 30 Javascript
Vue formData实现图片上传
Aug 20 Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
通过html表格发电子邮件
2006/10/09 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python对json的相关操作实例详解
2017/01/04 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
Python进程间通信Queue实例解析
2018/01/25 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
Python中new方法的详解
2019/01/15 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
Python3开发环境搭建详细教程
2020/06/18 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
农林环境专业求职信
2014/03/13 职场文书
党员一帮一活动总结
2014/07/08 职场文书
大学生简短的自我评价
2014/09/12 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
解决golang在import自己的包报错的问题
2021/04/29 Golang
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL