2个TAB自动切换,第2个自动切换有BUG,哪个高手帮修正下谢谢!! 本帖最后由 helpmbbm 于 2012-06-11 13:56:01 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实际上两个tab都有问题,selectTag()函数没有问题,scrollTag()函数的问题主要是计数器的处理有问题,按你的写法,两个tab公用了计数器变量x,就造成了两个tab的混乱。function selectTag(showContent, selfObj, id) { var obig = document.getElementById("big_" + id); var tag = document.getElementById("tags_" + id).getElementsByTagName("li"); var taglength = tag.length; for (i = 0; i < taglength; i++) { tag[i].className = ""; } selfObj.parentNode.className = "selectTag"; for (i = 0; j = document.getElementById("tagContent" + i + "_" + id); i++) { j.style.display = "none"; } document.getElementById(showContent).style.display = "block";}var counter = {"x": 0, "y": 0}; //修改了计数器变量,定义为一个对象,初始值为0function scrollTag(id, counterName) { //重写了scrollTag()函数,增加了一个表示计数器名称的变量(counterName) var oLinks = document.getElementById('tags_' + id).getElementsByTagName('a'); var oLists = document.getElementById('tags_' + id).getElementsByTagName('li'); counter[counterName] = (counter[counterName] + 1) % oLinks.length; var idx = counter[counterName]; for (var i = 0; i < oLinks.length; i ++) { oLists[i].className = ''; document.getElementById('tagContent' + i + '_' + id).style.display = 'none'; } oLinks[idx].parentNode.className = 'selectTag'; document.getElementById('tagContent' + idx + '_' + id).style.display = 'block';}var S = 1.5;var s = 2.2var scrolll = setInterval('scrollTag("a", "x")', 1000 * S); //相应地,调用方式要改变一下var scrollll = setInterval("scrollTag('b', 'y')", 1000 * s); //同上function zhuan(c) { if (c == "a") { clearInterval(scrolll); } else { clearInterval(scrollll); }}function jixu(c) { if (c == "a") { scrolll = setInterval('scrollTag("a")', 1000 * S); } else { scrollll = setInterval('scrollTag("b")', 1000 * s); }} 后面那个jixu()函数也需要改一下对scrollTag()的调用方式:function jixu(c) { if (c == "a") scrolll = setInterval('scrollTag("a", "x")', 1000 * S); scrollll = setInterval('scrollTag("b", "y")', 1000 * s);} 为什么下面这个网页时钟出不来 如何用javascript得到form表单中相同类型的元素的个数?? 如何用CSS实现鼠标经过表格的某一行,该行的背景颜色发生改变,移出之后恢复?(不用onmouse事件,用CSS) 文字不间断滚动的效果求教 [征询]用javascript获取realplayer控件播放结束事件 新手求助,100分!一个简单的函数,怎么写? 如何把字符串转换成数值型?如"001"转换成1 关于鼠标事件的问题 input里的value值怎么调用函数? 关于【amcharts js版】柱形图问题 关于js调用的问题 关于js复制的问题
var obig = document.getElementById("big_" + id);
var tag = document.getElementById("tags_" + id).getElementsByTagName("li");
var taglength = tag.length;
for (i = 0; i < taglength; i++) {
tag[i].className = "";
}
selfObj.parentNode.className = "selectTag";
for (i = 0; j = document.getElementById("tagContent" + i + "_" + id); i++) {
j.style.display = "none";
}
document.getElementById(showContent).style.display = "block";
}var counter = {"x": 0, "y": 0}; //修改了计数器变量,定义为一个对象,初始值为0function scrollTag(id, counterName) { //重写了scrollTag()函数,增加了一个表示计数器名称的变量(counterName)
var oLinks = document.getElementById('tags_' + id).getElementsByTagName('a');
var oLists = document.getElementById('tags_' + id).getElementsByTagName('li');
counter[counterName] = (counter[counterName] + 1) % oLinks.length;
var idx = counter[counterName];
for (var i = 0; i < oLinks.length; i ++) {
oLists[i].className = '';
document.getElementById('tagContent' + i + '_' + id).style.display = 'none';
}
oLinks[idx].parentNode.className = 'selectTag';
document.getElementById('tagContent' + idx + '_' + id).style.display = 'block';
}var S = 1.5;
var s = 2.2
var scrolll = setInterval('scrollTag("a", "x")', 1000 * S); //相应地,调用方式要改变一下
var scrollll = setInterval("scrollTag('b', 'y')", 1000 * s); //同上function zhuan(c) {
if (c == "a") {
clearInterval(scrolll);
}
else {
clearInterval(scrollll);
}
}function jixu(c) {
if (c == "a") {
scrolll = setInterval('scrollTag("a")', 1000 * S);
}
else {
scrollll = setInterval('scrollTag("b")', 1000 * s);
}
}
function jixu(c) {
if (c == "a") scrolll = setInterval('scrollTag("a", "x")', 1000 * S);
scrollll = setInterval('scrollTag("b", "y")', 1000 * s);
}