我的Javascript不起作用.不知道它是函数,我是如何调用它,我使用的CSS或者是什么

Shi*_*min 3 javascript

我的功能:

function ChangeStep(id)
{
    var i = 1;

    // hide all other tabs:
    while(i<10) {
        var divID = 'tabs' + i;
        if (divID !== null) {
            document.getElementById(divID).className += " hide";
        }
        i++;
    }

    // show this one
    document.getElementById(id).className += " show";
}
Run Code Online (Sandbox Code Playgroud)

我怎么称呼它:

<div id="prev"><img src="img/prv.png" onClick="ChangeStep('tabs1'); return false;"></div>
<div id="next"><img src="img/nxt.png" onClick="ChangeStep('tabs2'); return false;"></div>
Run Code Online (Sandbox Code Playgroud)

我要显示/隐藏的Div:

<div id="tabs1" class="hide"><h1>Step 1</h1></div>
<div id="tabs2" class="show"><h1>Step 2</h1></div>
Run Code Online (Sandbox Code Playgroud)

我的Css:

.hide { visibility: hidden; }
.show { visibility: visible; }
Run Code Online (Sandbox Code Playgroud)

基本上我想要做的是:当我单击"下一个"或"上一个"时,通过隐藏所有其他人并显示此对话来显示相应的"选项卡".这应该通过添加类"隐藏"或"显示"来完成,具体取决于它是隐藏还是可见.

Que*_*tin 6

您总是附加类名,因此它们(在显示一次之后)将成为两个showhide类的成员,并且两个规则集都将应用(以正常的级联顺序).

如果您不需要维护任何其他类,则可以+=使用简单的赋值替换append运算符:=

如果确实需要在元素上维护其他类,则可以使用classList.

document.getElementById(divID).classList.remove('show');
document.getElementById(divID).classList.add('hide');
Run Code Online (Sandbox Code Playgroud)

如果您需要支持Old-IE,那么您可以使用polyfill(可能会运行regex classList)或提供类似功能的API.最常见的JS库(例如YUI和jQuery)内置了一个.