$(id+"").style.display = "block" 改成 $(id+"").css("display","block") 试试,
可以查查jquery的文档
没用jquery呢, 用你的试了,id为空 id + "_x"获取的是btn_1_x没错 , $(id + "_x")获取的就死undefined...
<script type="text/javascript" language="javascript">
function $(id) {
return document.getElementById(id);
}
function TabControl(id) {
for (var i = 1; i < 4; i++) { // 注意:<4 4为最后一个按钮/显示的DIV的ID 例如:btn_4_x
$(id + "_x").style.display = "block";
//判断传入的ID 是否是最后一个,如果为最后一个则不隐藏。其他全部隐藏 注意:<=3 3为最后一个按钮/显示的DIV的ID 例如:btn_3_x
if ((parseInt(id.substr(4, 1)) + i) <= 4) {
$(id.substr(0, 4) + (parseInt(id.substr(4, 1)) + i).toString() + "_x").style.display = "none";//获取单机按钮的上 i 个按钮的ID
}
//判断传入ID 是否为第一个,如果为第一个则不隐藏,其他全部隐藏
if ((parseInt(id.substr(4, 1)) - i) >= 1) {
$(id.substr(0, 4) + (parseInt(id.substr(4, 1)) - i).toString() + "_x").style.display = "none"; //获取单机按钮的下 i 个按钮的ID
}
}
}
</script>
OK了, 正确的。
@秋风sao落叶: 这么搞很费劲的,如果要实现的效果稍微复杂一些,你的js代码会越来越没有条理,而且很难维护。两个建议:1. 可以尝试jquery等js库,普通的动态效果都能很方便的实现;2. 像鼠标移动到img(或其他类型标签)上,cursor效果改变,这直接通过定义一个css类 .xxCssClass { cursor: hand; } 然后应用到相关标签上就行了,LZ的css能力也需要提高 - -。
$("#" + id+"_x").css("display","block")
"#" 就错了,那是用了JQUERY 但我这里没有用jquery