一个可以随意添加多个序列的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 相关文章推荐
asp.net和asp下ACCESS的参数化查询
Jun 11 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
JavaScript 原型继承
Dec 26 Javascript
Js中获取frames中的元素示例代码
Jul 30 Javascript
多种方法实现load加载完成后把图片一次性显示出来
Feb 19 Javascript
学习Bootstrap组件之下拉菜单
Jul 28 Javascript
jQuery的ajax下载blob文件
Jul 21 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
微信小程序顶部可滚动导航效果
Oct 31 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
Aug 31 Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
Apr 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使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
Python爬虫文件下载图文教程
2018/12/23 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
Python中遍历列表的方法总结
2019/06/27 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
多个python文件调用logging模块报错误
2020/02/12 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
介绍一下Java的事务处理
2012/12/07 面试题
毕业自荐书
2013/12/09 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
Go语言读取txt文档的操作方法
2022/01/22 Golang
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫