我想用按钮隐藏和显示div,但是当我点击按钮时,它只能显示div,但无法隐藏。
这是我的小提琴
我的编码
<div class="buttons" style="background-color: rgba(0,0,0,.8);">
<a class="button" id="showdiv1">Div 1</a>
<a class="button" id="showdiv2">Div 2</a>
<a class="button" id="showdiv3">Div 3</a>
<a class="button" id="showdiv4">Div 4</a>
</div>
<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
<div id="div4">4</div>
CSS
.button {
cursor:pointer;
display:inline-block;
margin:10px;
clip: rect(auto,auto,auto,auto);
}
#div1 {
background:aqua;
padding:20px;
width:100px;
text-align:center;
display:none;
}
#div2 {
background:blue;
padding:20px;
width:100px;
text-align:center;
display:none;
}
#div3 {
background:orange;
padding:20px;
width:100px;
text-align:center;
display:none;
}
#div4 {
background:green;
padding:20px;
width:100px;
text-align:center;
display:none;
}
a {
color:aqua;
-webkit-filter: grayscale(1.0);
}
a:hover {
color:red;
-webkit-filter: grayscale(0.0);
}
的Javascript
$('#showdiv1').click(function () {
$('div[id^=div]').hide();
$('#div1').show();
});
$('#showdiv2').click(function () {
$('div[id^=div]').hide();
$('#div2').show();
});
$('#showdiv3').click(function () {
$('div[id^=div]').hide();
$('#div3').show();
});
$('#showdiv4').click(function () {
$('div[id^=div]').hide();
$('#div4').show();
});
旁边,我想在显示div时添加一些效果,这是我想要的例子 http://jqueryui.com/show/
如何修改我的小提琴,以便在单击按钮时,它会产生一些效果。我希望&#34;爆炸&#34;的效果当显示div。
如何加入我的小提琴?
由于
答案 0 :(得分:1)
$('#div1').toggle();
使用切换而不是显示和隐藏, 为了效果你可以尝试slidetoggle或淡入淡出效果
答案 1 :(得分:0)
$('#showdiv1').click(function () {
$('div[id^=div]').slideUp();
$('#div1').slideDown();
});
$('#showdiv2').click(function () {
$('div[id^=div]').slideUp();
$('#div2').slideDown();
});
$('#showdiv3').click(function () {
$('div[id^=div]').slideUp();
$('#div3').slideDown();
});
$('#showdiv4').click(function () {
$('div[id^=div]').slideUp();
$('#div4').slideDown();
});
演示:
答案 2 :(得分:0)
<强> JS 强>
var selectedEffect="explode";
var options = { percent: 100 };
$('#showdiv1').click(function () {
$('div[id^=div]').hide();
$('#div1').show( selectedEffect, options, 500, callback );
});
$('#showdiv2').click(function () {
$('div[id^=div]').hide();
$('#div2').show( selectedEffect, options, 500, callback );
});
$('#showdiv3').click(function () {
$('div[id^=div]').hide();
$('#div3').show( selectedEffect, options, 500, callback );
});
$('#showdiv4').click(function () {
$('div[id^=div]').hide();
$('#div4').show( selectedEffect, options, 500, callback );
});
function callback() {
setTimeout(function() {
$( "#effect:visible" ).removeAttr( "style" ).fadeOut();
}, 1000 );
};
答案 3 :(得分:0)
您可以尝试这样的事情:
$('#showdiv1').click(function () {
if ( $('div[id^=div]').css('display') === 'block' ) {
$('div[id^=div]').hide();
} else {
$('#div1').show();
}
答案 4 :(得分:0)
$('#showdiv1').click(function () {
$('div[id^=div]').hide(500);
$('#div1').show(1000);
});
$('#showdiv2').click(function () {
$('div[id^=div]').hide(500);
$('#div2').show(1000);
});
$('#showdiv3').click(function () {
$('div[id^=div]').hide(500);
$('#div3').show(1000);
});
$('#showdiv4').click(function () {
$('div[id^=div]').hide(500);
$('#div4').show(1000);
});
答案 5 :(得分:0)
替换
$('div[id^=div]').hide();
$('#div1').show();
由此
if($('#div1').css('display')=='none'){
$('#div1').show();
}else {
$('#div1').hide();
}
答案 6 :(得分:0)
不熟悉jquery爆炸我查阅了文档,只是为了看看它的内容:http://api.jqueryui.com/explode-effect/,在快速阅读之后我跳了你的小提琴。
只是看着小提琴,我看到了几件事。首先,您需要引用jquery UI。 http://code.jquery.com/ui/1.11.0/jquery-ui.js
因此,在小提琴中转到外部资源并添加该URL。完成选择后,通过对代码执行以下操作,选择要爆炸的框:
$('#showdiv1').click(function () {
$('div[id^=div]').hide();
$( "#div1" ).toggle( "explode" ); });
我测试了它,它对我有用。祝你好运,并继续努力..你真的很亲密!