标签:javascript css css-selectors
我创建了一个导航,现在我想添加一个预览器来获取相关选项.
这个div没有连接到导航但它需要在悬停时显示.我在研究的“小时”后投降:/
这是我的简化代码
https://codepen.io/solevita/pen/JXEOQg
<div class="col">
<div class="content">lorem ipsum</div>
</div>
<div class="col">
<div class="navigation">
<ul>
<li><a href="#">punkt</a></li>
</ul>
</div>
</div>
正如已经说过的那样,我要显示的div不在导航中(出于响应原因).
有可能用纯css处理这个或javascript是必要的吗?我希望事实并非如此 – 我的javascript技能不存在:D
谢谢你的帮助!
解决方法:
可悲的是(幸运的是)你不能在DOM树上使用CSS“导航”.您只能定位下一个兄弟姐妹和子元素(您可能已经知道).
JavaScript可以在这种特定情况下帮助您:
function showTarget(el) {
var target = document.querySelector("[data-target='"+ el.dataset.hovershow +"']");
el.addEventListener("mouseenter", function() {
target.classList.add("visible");
});
el.addEventListener("mouseleave", function() {
target.classList.remove("visible");
});
}
[].forEach.call(document.querySelectorAll("[data-hovershow]"), showTarget);
.navigation{ position:fixed; bottom: 30px; }
.content { display: none; }
.content.visible { display: block; } /* "visible" class is toggled by JS */
<div class="col">
<div class="content" data-target="1">1 lorem ipsum</div>
<div class="content" data-target="2">2 lorem ipsum</div>
</div>
<div class="col">
<div class="navigation">
<ul>
<li><a href="#" data-hovershow="1">1 punkt</a></li>
<li><a href="#" data-hovershow="2">2 punkt</a></li>
</ul>
</div>
</div>
标签:javascript,css,css-selectors 来源: https://codeday.me/bug/20190722/1503167.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。