2015-10-21 50 views
0

我很沮丧。这是我的js和html代码。除了id =“logo”之外的其他元素,js可以很好地工作。它不会更改类名称。我的JS不更改类名

HTML:

<body class="beforepace"> 
<div id="golden" onmouseover="showdesc('golden-desc','golden');" onmouseout="hidedesc('golden-desc','golden');"> 
<div id="golden-desc" class="desc">Golden</div> 
</div> 
<div id="utopia" onmouseover="showdesc('utopia-desc','utopia');" onmouseout="hidedesc('utopia-desc','utopia');"> 
<div id="utopia-desc" class="desc">Utopia</div> 
</div> 
<div id="logo" class="default"></div> 
</body> 

JS:

// JavaScript Document 
var logo=document.getElementById("logo"); 
function showdesc(a,b){ 
    logo.className=b; 
    document.getElementById(a).classList.add("desc_show"); 
    document.getElementById(b).classList.add("div-hover"); 
} 
function hidedesc(a,b){ 
    document.getElementById(a).classList.remove("desc_show"); 
    document.getElementById(b).classList.remove("div-hover"); 
    if(b==="golden")document.getElementById("logo").classList.remove("golden"); 
    else if(b==="utopia")document.getElementById("logo").classList.remove("utopia"); 
} 

请帮助我,非常感谢你!

+0

你能更具描述性的问题?您的代码已将classNames设置为“logo”,同时悬停在“golden”或“utopia”上。 – Griffith

+0

你在哪里导入你的js文件? – JasmineOT

+0

通过调试器进行的操作会向您显示什么? – Qix

回答

0

你可以检查标志格的颜色变化

// JavaScript Document 
 
var logo=document.getElementById("logo"); 
 
function showdesc(a,b){ 
 
    logo.className=b; 
 
    document.getElementById(a).classList.add("desc_show"); 
 
    document.getElementById(b).classList.add("div-hover"); 
 
} 
 
function hidedesc(a,b){ 
 
    document.getElementById(a).classList.remove("desc_show"); 
 
    document.getElementById(b).classList.remove("div-hover"); 
 
    if(b==="golden")document.getElementById("logo").classList.remove("golden"); 
 
    else if(b==="utopia")document.getElementById("logo").classList.remove("utopia"); 
 
}
#logo{ 
 
    padding-top:10px; 
 
    } 
 
.golden{ 
 
    color:yellow; 
 
    } 
 
.utopia{ 
 
    color:red; 
 
    }
<body class="beforepace"> 
 
<div id="golden" onmouseover="showdesc('golden-desc','golden');" onmouseout="hidedesc('golden-desc','golden');"> 
 
<div id="golden-desc" class="desc">Golden</div> 
 
</div> 
 
<div id="utopia" onmouseover="showdesc('utopia-desc','utopia');" onmouseout="hidedesc('utopia-desc','utopia');"> 
 
<div id="utopia-desc" class="desc">Utopia</div> 
 
</div> 
 
<div id="logo" class="default">logo here</div> 
 
</body>

0

对于添加新的类使用这个

$("#logo").addClass("yourClassName"); 

对于删除现有的类使用此

$("#logo").removeClass("yourClassName"); 
+0

我认为使用'.classList.add'添加类是可以的。 – JasmineOT