我试图做一个标签切换功能。.addClass()不能正常工作
HTML:
<span id="t1" class="location">Random</span>
<span id="t2" class="location">Text</span>
<span id="t3" class="location">TextText</span>
<span id="t4" class="location">Asdf</span>
<span id="t5" class="location">Fdsa</span>
<span id="t6" class="location">Asdf</span>
<span id="t7" class="location">Random</span>
CSS:
.selected {
border-bottom:1px solid blue;
color:blue;
}
.location {
border-right:1px solid black;
margin-left:8px;
padding-right:8px;
cursor:pointer;
}
的Javascript:
$(document).ready(function(){
$("#t1").click(function(){switchTabs(1)});
$("#t2").click(function(){switchTabs(2)});
$("#t3").click(function(){switchTabs(3)});
$("#t4").click(function(){switchTabs(4)});
$("#t5").click(function(){switchTabs(5)});
$("#t6").click(function(){switchTabs(6)});
$("#t7").click(function(){switchTabs(7)});
});
var previousNumber;
function switchTabs(number) {
$("#t" + number).toggleClass('selected');
previousNumber = number;
$("#t" + previousNumber).toggleClass('selected');
}
当我点击任何跨度它不会做任何事情。但是,如果我做$(“#t1”)。toggleClass('selected')它的作品。我不知道我能做什么错。
您正在切换课程,然后再次切换回来!总的来说,没有效果。切换两个开关语句,以便在更改previousNumber –
中的值之前切换上一个选项卡*,并且您应该真正考虑重构代码 –
此代码可以大大简化。 – Mathletics