一个可以随意添加多个序列的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 setTimeout()函数使用方法
Apr 07 Javascript
使用JS 清空File控件的路径值
Jul 08 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
node.js中的socket.io入门实例
Apr 26 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
Mar 11 Javascript
CSS3 3D 技术手把手教你玩转
Sep 02 Javascript
微信小程序 Audio API详解及实例代码
Sep 30 Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 Javascript
微信小程序 Toast自定义实例详解
Jan 20 Javascript
Angular6项目打包优化的实现方法
Dec 15 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 Javascript
vue+element实现动态加载表单
Dec 13 Vue.js
一个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 和 MySQL 基础教程(四)
2006/10/09 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
详解python的数字类型变量与其方法
2016/11/20 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
介绍一下write命令
2014/08/10 面试题
区三好学生主要事迹
2014/01/30 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
车辆工程专业求职信
2014/06/14 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
旷课检讨书500字
2014/10/14 职场文书
军训决心书范文
2015/09/22 职场文书