jquery - 如果有类显示 div 其他条件使用 JQuery
问题描述
我尝试使用 JQuery 来检查一个元素是否有一个 x 类在悬停时会显示其他 div,但是我的代码不起作用,不确定我错过了什么。
$(function(){
if($('.naigation > li').hasClass('x')){
$('.naigation > li').mouseenter(function(){
$('#overlay').css('display','block');
})
}else if(!$('.naigation > li').hasClass('x')){
$('#overlay').css('display','none');
}
}).mouseout(function(){
$('#overlay').css('display','none');
})
谢谢您的帮助。
解决方案
方法1)我们使用mouseleave
,所以不需要else if
$(document).ready(function(){
$('.naigation > li').mouseenter(function(){
if ( $(this).hasClass('x') )
$('#overlay').css('display','block') ;
}).mouseleave(function() {
$('#overlay').css('display','none') ;
});
})
$(document).ready(function(){
$('.naigation > li').mouseenter(function(){
if ( $(this).hasClass('x') )
$('#overlay').css('display','block') ;
}).mouseleave(function() {
$('#overlay').css('display','none') ;
});
})
ul {
padding: 0;
}
li {
border: 2px solid red;
padding: 5px;
width: 100px;
margin: 5px;
list-style: none;
}
#overlay {
width: 100px;
height: 100px;
border: 2px solid blue;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<ul class="naigation">
<li class="x">Have X</li>
<li>Have not X</li>
</ul>
<div id="overlay">Hello World!</div>
方法2)使用.naigation > li.x
和移除if
:
$(document).ready(function(){
$('.naigation > li.x').mouseenter(function(){
$('#overlay').css('display','block') ;
}).mouseleave(function() {
$('#overlay').css('display','none') ;
});
})
$(document).ready(function(){
$('.naigation > li.x').mouseenter(function(){
$('#overlay').css('display','block') ;
}).mouseleave(function() {
$('#overlay').css('display','none') ;
});
})
ul {
padding: 0;
}
li {
border: 2px solid red;
padding: 5px;
width: 100px;
margin: 5px;
list-style: none;
}
#overlay {
width: 100px;
height: 100px;
border: 2px solid blue;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<ul class="naigation">
<li class="x">Have X</li>
<li>Have not X</li>
</ul>
<div id="overlay">Hello World!</div>
推荐阅读
- javascript - 使用 React 向表中添加条目
- algorithm - 从公钥生成私钥
- javascript - 为什么第一个console.log 没有定义greeter?
- python - 在 Python 中自动创建新目录
- apache - 检查.htaccess中的引用标头时如何检查完全匹配
- javascript - 创建我自己的组件 vuejs,有两个不同的部分
- swift - 如何快速检查某个窗口是否打开
- sql - 如何在 BigQuery 中返回混合/多个数据?
- c# - iText7 从 IFormFile 创建一个文档
- python - TypeError: update_graph_scatter() 接受 0 个位置参数,但给出了 1 个