我正在使用 .slideToggle() 在我的投资组合页面上显示和隐藏一些 div。当显示 div 时,我想应用一个盒子阴影和背景,使其看起来像是坐在托盘上。
这是一个 jsFiddle,它显示了我正在尝试做的事情。它在那里工作得很好,但由于某种原因,相同的代码在我的网站上不起作用。当我单击以显示 div 时,box-shadow 会出现片刻,但在 slideToggle 动画完成后会迅速消失。知道为什么吗?我觉得某处必须有一种样式可以覆盖盒子阴影,但我不知道它可能是什么。
这是Jquery代码:
$('.portfolioToggle').click(function(e) {
var toggle = $(this),
divId = toggle.attr('href');
$(divId).slideToggle('slow');
$(divId).toggleClass('portfolioSectionVisible', $(this).is(":visible"));
var toggleState = toggle.text() == "-" ? "+" : "-"; //change icon
toggle.hide().text(toggleState).fadeIn("fast");
e.preventDefault();
event.preventDefault();
});
这是CSS:
.portfolioSection{
clear:left;
float:left;
width:80%;
margin-left:10%;
margin-right:-90%;
padding-left:20px;
padding-right:21px;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
word-wrap:break-word;
_display:inline;
_overflow:hidden;
_overflow-y:visible;
padding-left:0;
padding-right:0;
margin-bottom:2.25em;
margin-top:1.5em;
text-shadow:0 2px 0px rgba(255,255,255,0.9)}
.portfolioSectionVisible{
-moz-box-shadow:inset 0 0 5px #888;
-webkit-box-shadow:inset 0 0 5px #888;
box-shadow:inner 0 0 5px #888}