首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery animate()不起作用,但css()起作用

jQuery animate()不起作用,但css()起作用
EN

Stack Overflow用户
提问于 2012-03-27 10:57:26
回答 2查看 3.2K关注 0票数 0

我正在创建一些滑动面板(手风琴),我想滑动背景图像,以便始终显示背景的一部分。我有问题的动画面板,但css的工作很好。例如:

代码语言:javascript
运行
复制
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中搜索相关区域的“代码”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-27 11:48:21

问题就在您调用的代码块下面:

代码语言:javascript
运行
复制
$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()时,它会停止您之前尝试调用的高度动画。

票数 2
EN

Stack Overflow用户

发布于 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日:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9882777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档