是可能的切换元件的可见性,使用函数.hide(),.show()或.toggle().
如何测试元素是可见还是隐藏?
我正在使用JS作为改变我正在创建的SPA内容的一种方式.当我按下按钮更改内容时,HTML会从此更改:
<div id="selectDiv" style="display: none;">
Run Code Online (Sandbox Code Playgroud)
对此:
<div id="selectDiv" style>
Run Code Online (Sandbox Code Playgroud)
现在我的SPA的一部分有一个包含许多复选框的div,每个复选框代表一个div,所以当我按下提交按钮时,应该显示的下一个div将是所选复选框列表中的第一个项目.
我想知道JQuery中是否有一种方法可以"几乎检测到"哪个div现在可见.这样的事情:
if($('#selectDiv').isVisible()){
//JS code associated with this div.
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
这是我的函数atm:
$(document).ready(function() {
$("#knd").click(function() {
$("#wars").animate({
opacity:'1'
});
});
});
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我想添加选项以再次单击删除该框,我想用if语句执行它,但我不是100%使用Jquery中的语法.我想要的东西是:
if(#wars is visible) {
$("#wars").animate({
opacity:'0'
});
Run Code Online (Sandbox Code Playgroud)
我该怎么写这个if语句?
解:
$(document).ready(function() {
$("#knd").click(function() {
if($("#wars").css('opacity') === '0') {
$("#wars").animate({
opacity:'1'
}); //end of animate
}
else {
$("#wars").animate({
opacity:'0'
}); //end of animate
}
}); //end of KND click function
}); //end of doc ready function
Run Code Online (Sandbox Code Playgroud)
我不得不改变可见性并将其设置为不透明度,然后它就像if语句的魅力一样.
我已经搜索过了,但没有找到关于它的更多信息.可以使用:悬停效果创建和转换CSS,例如:
div { color: red;}
div:hover {color: blue;}
而你只需要添加到这个CSS的过渡.但是我希望启动动画的触发器是DIV出现在屏幕上的时候.
我怎样才能做到这一点?