我想渲染一个不可见的div:
当.button-1
为“有效”时,隐藏.button-2
,反之亦然。
类似CSS中的display:none
但使用Javascript
脚本
$(document).ready(function(){
$('.button-1').click(function(){
$(this).toggleClass('active');
});
});
$(document).ready(function(){
$('.button-2').click(function(){
$(this).toggleClass('active');
});
});
有什么想法吗?感谢。
答案 0 :(得分:2)
您可以使用下一个脚本:
$('#button1').click(function(){
toggleButtons();
});
$('#button2').click(function(){
toggleButtons();
});
//hiding second button at the beginning
$('#button2').toggle();
//switch buttons visibility
function toggleButtons() {
$('#button1').toggle();
$('#button2').toggle();
}
请参阅Fiddle sample。
答案 1 :(得分:1)
所以你只希望一次看到其中一个项目?
您可以设置一个" lock",这样一个变量的状态代表div
当前处于活动状态。
所以在你的代码中(实际上你会把它放在某个命名空间中,但只是让它工作):
var activeButton = "button-1";
$(document).ready(function(){
$('.button-1').click(function(){
$(this).toggleClass('active');
if (activeButton == "button-2") {
$('.button-2').toggleClass('active');
}
activeButton = "button-1";
});
});
$(document).ready(function(){
$('.button-2').click(function(){
$(this).toggleClass('active');
if (activeButton == "button-1") {
$('.button-2').toggleClass('active')
}
activeButton = "button-2";
}
});
});
答案 2 :(得分:0)
<style>
.button-1,.button-2 {
display: none;
}
.active {
display: block;
}
</style>
$('.button-1').click(function(){
$(this).toggleClass('active');
$('.button-2').toggleClass('active');
});
$('.button-2').click(function(){
$(this).toggleClass('active');
$('.button-1').toggleClass('active');
});
没有CSS:
$('.button-1').click(function(){
$(this).toggle();
$('.button-2').toggle();
});
$('.button-2').click(function(){
$(this).toggle();
$('.button-1').toggle();
});
答案 3 :(得分:-1)
您可以使用以下方法将CSS显示设置为&#34; none&#34;使用JQuery?:
$(this).css("display","none");
答案 4 :(得分:-1)
如果你的div id是例如mydiv那么你可以使用hide函数来隐藏它
$('#mydiv').hide();