我正在处理一个 JavaScript 项目,我需要在摄氏度和华氏度之间切换。 HTML 在这里
<button onclick="toggleCF();" id="toggleCF" class="button">Toggle C/F</button>
这是 JavaScript 函数
this.toggleCF = function() {
console.log('click');
var fahrenheit = document.getElementById('toggleFahrenheit');
var celsius = document.getElementById('toggleCelsius');
if (fahrenheit.style.display === 'none') {
fahrenheit.style.display = 'block';
celsius.style.display = 'none';
} else {
fahrenheit.style.display = 'none';
celsius.style.display = 'block';
}
}
我使用的 CSS 已给出
.temperature-celsius {
}
.temperature-fahrenheit {
display: none;
}
如果您想在此处查看此应用程序,请点击此处链接
如果您访问上面的链接并检查,您会发现在第一次点击时切换不起作用。但是,当您第二次单击时,它开始正常工作。
原文由 ZiaUllahZia 发布,翻译遵循 CC BY-SA 4.0 许可协议
它不起作用,因为这个
if (fahrenheit.style.display === 'none')
将返回 NULL,因为元素上没有内联样式。此方法不会“查看”CSS,它仅适用于内联样式。你可以试试这个:在纯 JS 中检查 CSS 属性,或者您可以使用 JQuery,这将在一行代码中解决它。