2012-03-27 88 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一天:)