一个可以随意添加多个序列的tag函数

 更新时间:2009年07月21日 13:02:35   作者:  
由于在没有规划好的情况下写的这个代码,写的比较粗糙,也没有添加注释。 JavaScript代码和HTML完全分离;可以随意添加多个子div标签,自动扩展
/**
* @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]; //存儲對應的原來的div裏面的HTML
spans[i]=span;
span.onmouseover = function(){
if(index>=1) spans[index-1].style.border="1px dotted #ccc";
newElem.innerHTML = this.html; //對應賦值
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时间格式化

    详解JavaScript时间格式化

    这篇文章主要介绍了详解JavaScript时间格式化的相关资料,需要的朋友可以参考下
    2015-12-12
  • JSON获取属性值方法代码实例

    JSON获取属性值方法代码实例

    这篇文章主要介绍了JSON获取属性值方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Next项目路径添加指定的访问前缀方法详解

    Next项目路径添加指定的访问前缀方法详解

    这篇文章主要介绍了Next项目路径添加指定的访问前缀方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • javascript中字符串处理常用的方法汇总

    javascript中字符串处理常用的方法汇总

    JavaScript中操作字符串是一个很重要的话题,下面这篇文章主要给大家介绍了关于javascript中字符串处理常用的方法,文中通过图文以及代码示例介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • web前端页面生成exe可执行文件的方法

    web前端页面生成exe可执行文件的方法

    这篇文章给大家介绍了Electron 怎么将网页打包成桌面应用(web前端页面怎么生成exe可执行文件),感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-02-02
  • js常用函数2008-8-16整理

    js常用函数2008-8-16整理

    方便使用js的朋友,把下面的函数找到你想要的功能函数,复制部分判断输入文本是否为身份证号码,如为不正确则提示
    2008-08-08
  • Echarts折线图设置线条颜色及线条以下代码示例

    Echarts折线图设置线条颜色及线条以下代码示例

    最近项目需要,一直在使用Echarts视图,现在遇到一个要修改echarts折线图颜色的需求,下面这篇文章主要给大家介绍了关于Echarts折线图设置线条颜色及线条以下区域渐变颜色的相关资料,需要的朋友可以参考下
    2024-02-02
  • Javascript前端UI框架Kit使用指南之kitjs的对话框组件

    Javascript前端UI框架Kit使用指南之kitjs的对话框组件

    本文以kitjs对话框组件为例,给我们详细介绍了kitjs的组件目录、默认代码模板、构造器及初始方法、以及Kitjs继承。讲解的非常细致,对我们熟练掌握kitjs组件很有帮助。
    2014-11-11
  • JavaScript自定义日历实现签到功能

    JavaScript自定义日历实现签到功能

    这篇文章主要为大家详细介绍了JavaScript自定义日历实现签到功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • js设置document.domain实现跨域的注意点分析

    js设置document.domain实现跨域的注意点分析

    这篇文章主要介绍了js设置document.domain实现跨域的注意点,较为详细的分析了document.domain跨域的相关技巧,需要的朋友可以参考下
    2015-05-05

最新评论