我正在创建一些滑动面板(手风琴),我想滑动背景图像,以便始终显示背景的一部分。我有问题的动画面板,但css的工作很好。例如:
if(slideIndex == index) {
$this.children('.heading').children().children().fadeIn(settings.slideSpeed);
$this.children('.heading').animate({height: 250});
} else {
$this.children('.heading').children().children().not('.panel-strip').fadeOut(settings.slideSpeed);
$this.children('.heading').animate({height: 500});
}不起作用,但是如果我用css代替animate,它就能起作用。
超文本标记语言是我试图访问的<div class="panels-background heading">。
javascript改编自liteAccordion。
jsFiddle:http://jsfiddle.net/beaverusiv/GGd38/4/在javascript中搜索相关区域的“代码”。
发布于 2012-03-27 11:48:21
问题就在您调用的代码块下面:
$this
.children('.heading')
.stop(true)
.animate({
left : (side ? 0 : slideWidth) + slideIndex * settings.headerWidth
},
settings.slideSpeed,
settings.easing,
function() {
// flag ensures that fn is only called one time per triggerSlide
if (!core.slideAnimCompleteFlag) {
settings.onSlideAnimComplete.call(next);
core.slideAnimCompleteFlag = true;
}
});当您调用.stop()时,它会停止您之前尝试调用的高度动画。
发布于 2012-03-27 12:59:25
我曾经遇到过类似的问题;当只使用jQuery时,动画属性似乎不能像建议的那样工作。有一点研究,只是凭直觉添加了jQuery UI库。而且它起作用了。最后,我加入了jQuery UI效果库文件,它像地狱一样工作。
在documentation(http://docs.jquery.com/UI/Effects/animate)上,它说UI效果库扩展了动画功能以支持颜色,但对我来说,它在高度动画中也有帮助。不知道为什么..。
要下载此goto http://jqueryui.com/download,请选择底部的核心和UI效果。不勾选rest (如果你想接收8kb左右文件中的解决方案)。然后,您将收到一个zip文件作为下载。
在这个压缩包中,转到js目录;选择名称类似于jquery-ui-1.8.18.custom.min.js的文件并将其包含在页面中。我想这个就行了。再一次,你可以添加更酷的效果,如滑动,盒子,爆炸等。我想你不需要更多的说明..gud日:)
https://stackoverflow.com/questions/9882777
复制相似问题