一个可以随意添加多个序列的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代码
Nov 09 Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
高效的获取当前元素是父元素的第几个子元素
Oct 15 Javascript
js倒计时显示实例
Dec 11 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
微信小程序实现点击返回顶层的方法
Jul 12 Javascript
React数据传递之组件内部通信的方法
Dec 31 Javascript
Javascript网页抢红包外挂实现分享
Jan 11 Javascript
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
layui表格 列自动适应大小失效的解决方法
Sep 06 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
Sep 10 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 curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
php显示时间常用方法小结
2015/06/05 PHP
PHP new static 和 new self详解
2017/02/19 PHP
js 创建书签小工具之理论
2011/02/25 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
python框架django基础指南
2016/09/08 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
python sys.argv[]用法实例详解
2018/05/25 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
写好自荐信的要点
2013/11/06 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
有关打架的检讨书
2014/01/25 职场文书
上班打牌检讨书
2014/02/07 职场文书
表决心的诗句大全
2014/03/11 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
万里长城导游词
2015/01/30 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
消防安全月活动总结
2015/05/08 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书