按钮需要点击 2 次才能换出 div [英] Button requires 2 clicks to swap out div
问题描述
当单击按钮时,我有一个简单的 div 交换.但是,当页面第一次加载时,它需要用户在按钮上单击两次才能使该功能起作用.之后一切正常.请问有什么建议吗?
我的代码:
<风格>#swapper-其他{宽度:200px;高度:50px;背景颜色:深红色;颜色:#fff;显示:无;}#交换器优先{宽度:200px;高度:50px;背景颜色:黄绿色;颜色:#444;}</风格><div id="swapper-first"><p><a href="javascript:SwapDivsWithClick('swap-first','swapper-other')">(Swap Divs)</a></p><p style="margin:0; color:red;">这个 div 在网页第一次加载时显示.</p>
<div id="swapper-other"><a href="javascript:SwapDivsWithClick('swap-first','swapper-other')">(Swap Divs)</a><p>单击链接时会显示此 div.</p>
为了在途中检测样式,您应该改用 getComputedStyle
方法.
下面是示例代码的更新版本:
<头><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>JS Bin</title><风格>#swapper-其他{宽度:200px;高度:50px;背景颜色:深红色;颜色:#fff;显示:无;}#交换器优先{宽度:200px;高度:50px;背景颜色:黄绿色;颜色:#444;}</风格><script type="text/javascript">函数 SwapDivsWithClick(div1, div2, e) {让 d1 = document.getElementById(div1);让 d2 = document.getElementById(div2);让计算样式D1 = window.getComputedStyle(d1, null);让计算样式D2 = window.getComputedStyle(d2, null);if (computedStyleD2.display == "none") {d1.style.display = "无";d2.style.display = "块";} 别的 {d1.style.display = "块";d2.style.display = "无";}e.stopPropagation();}头部><身体><div id="swapper-first"><p><a href='#' onclick="SwapDivsWithClick('swap-first','swapper-other', event)">(Swap Divs)</a></p><p style="margin:0; color:red;">这个 div 在网页第一次加载时显示.</p>
<div id="swapper-other"><a href='#' onclick="SwapDivsWithClick('swap-first','swapper-other', event)">(Swap Divs)</a><p>单击链接时会显示此 div.</p>