我尝试为粘性页脚制作动画,实际上,它是一个使用 jquery 和 setTimeout 的水平功能区。我只想为该功能区的背景颜色设置动画。
的HTML
<div class="ribbon">
<div class="closeR" style="display:inline-block; width:2.9em; height:1.8em; float:right; margin-right:0.7em; cursor: pointer;" title="إغلاق">X</div> <a href="/viewAyah/192">كل عام وأنتم بخير... رمضان الطاعات</a>
</div>
CSS
.ribbon {
z-index: 10;
border: 1px solid #faa;
background-color: #a00;
overflow: hidden;
width:100%;
/*bottom bar*/
position:fixed;
bottom: 0;
left:0;
right:0;
/* shadow */
-moz-box-shadow: -1px -2px 6px #525252;
-webkit-box-shadow: -1px -2px 6px #525252;
}
.ribbon a {
color: #fff;
display: inline-block;
font: bold 81.25%'sans-serif;
margin: 0.05em 0 0.075em 0;
padding: 0.5em 3.5em;
text-align: center;
text-decoration: none;
/* shadow */
text-shadow: 0 0 0.5em #444;
}
最后是Javascript:
$(document).ready(function () {
if ($.cookie('ribbonClose')) {
$('.ribbon').css("display", "none");
} else {
state = true;
setTimeout(function () {
if (state) {
$(".ribbon").animate({
backgroundColor: "#ff0"
}, 100);
state = false;
} else {
$(".ribbon").animate({
backgroundColor: "#050"
}, 100);
state = true;
}
}, 50);
}
$('.closeR').click(function () {
$('.ribbon').fadeOut("slow");
$.cookie('ribbonClose', true, {
expires: 1,
path: '/'
});
})
})
动画不行!似乎 setTimeout 不能每 50 毫秒调用一次定义的函数,它只是调用一次函数!这里有什么错误?