2012-03-27 66 views
0

我创造了一些滑动面板(手风琴),我想背景图片滑动,使得一块背景总是显示。我在动画面板时遇到问题,但css工作正常。例如: -jQuery的动画()不工作,但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,而不是它的工作原理。

的HTML是<div class="panels-background heading">,我试图访问。

JavaScript的适于从liteAccordion

的jsfiddle:http://jsfiddle.net/beaverusiv/GGd38/4/搜索在JavaScript的相关区域 'CODE'。

+0

'$ this.children(“标题”)凉爽的效果。儿童()。儿童( )。不是(“板带材”)'...嗯...必须有一个更好的选择 – elclanrs 2012-03-27 03:00:27

+0

如果你能找到一个,金五星:) – BeaverusIV 2012-03-27 03:05:46

+0

护理后置HTML? – elclanrs 2012-03-27 03:12:58

回答

2

的问题是正确低于代码块,你在呼唤:

$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()它停止你正在尝试之前调用高度动画。

+0

谢谢。现在我需要尝试使用动画来让它们顺利运行。 – BeaverusIV 2012-03-27 03:55:14

+0

不客气! – 2012-03-27 04:14:27

1

我有类似的问题一次;它似乎不会像使用jQuery时所提议的那样起作用。有一点研究,只是通过预感添加jQuery UI库。它的工作。最后,我包含了jQuery UI效果库文件,它像地狱一样工作。

在文档(http://docs.jquery.com/UI/Effects/animate)它说,UI效果库扩展动画功能,支持的颜色,但对我来说,在高度动画也有帮助。说不上为什么..

下载这个转到http://jqueryui.com/download选择在底部Core和UI效果。不选中(如果你想在大约8kb的文件中接收解决方案)。然后你会收到一个zip文件作为下载。

在这种拉链,转到JS目录;用类似jquery-ui-1.8.18.custom.min.js的名称选择文件并将其包含在您的页面中。我认为这会做。再次你添加像幻灯片,框,爆炸等。我猜你不需要进一步的说明.. GUD一天:)