2014-01-28 127 views
0

我有這樣的代碼來顯示/隱藏彈出式和div的jQuery的切換背景圖像

function ToggleSendForm() { 

    var effect = 'slide'; 
    var options = { direction: 'right', easing: 'swing' }; 
    var duration = 1000; 
    $(".popup").toggle(effect, options, duration); 
    var effectFade = 'fade'; 
    var durationFade = 1000; 
    $(".toggler").toggle(effectFade, durationFade); 
}; 

function UnToggleSendForm() { 

    var effect = 'slide'; 
    var options = { direction: 'right', easing: 'swing' }; 
    var duration = 1000; 
    $(".popup").toggle(effect, options, duration); 
    var effectFade = 'fade'; 
    var durationFade = 1000; 
    $(".toggler").toggle(effectFade, durationFade); 
}; 

<div class="toggler" style="display: none"></div> 
<div class="popup" style="background-color: #ffffff; display: none"> 
<div class="container" style="padding: 20px"> 

從右側彈出這樣的幻燈片。

我的問題是在幻燈片彈出過程中是透明的。展開後會變成白色。但是當它滑動時我也需要它白色。我錯過了什麼?

+1

亞歷山大你需要在http://jsfiddle.net小提琴 – Zword

+0

'jsfiddle.net'是你的朋友 – Lance

回答

0
{ queue: false }; 

這是由jQuery中的動畫隊列引起的。 在切換選項中將隊列設置爲false。

function ToggleSendForm() { 

    var effect = 'slide'; 
    var options = { direction: 'right', easing: 'swing' }; 
    var duration = 1000; 
    $(".popup").toggle(effect, options, duration); 
    var effectFade = 'fade'; 
    var durationFade = 1000; 
    $(".toggler").toggle(effectFade, { queue: false }, durationFade); 
}; 

function UnToggleSendForm() { 

    var effect = 'slide'; 
    var options = { direction: 'right', easing: 'swing' }; 
    var duration = 1000; 
    $(".popup").toggle(effect, options, duration); 
    var effectFade = 'fade'; 
    var durationFade = 1000; 
    $(".toggler").toggle(effectFade, { queue: false }, durationFade); 
}; 

jQuery的API文檔:

隊列(默認值:真) 類型:Boolean或字符串 布爾值,指示是否 放置動畫效果隊列。如果爲false,則動畫將立即開始。從jQuery 1.7開始,隊列選項 也可以接受一個字符串,在這種情況下,將動畫添加到由該字符串表示的 隊列中。當使用自定義隊列名稱時, 動畫不會自動啓動;您必須致電 .dequeue(「queuename」)啓動它。

+0

沒有幫助。什麼可能對div有影響?我想我的代碼是正確的,因爲有另一個最簡單的例子,它適用於背景。所以問題是什麼(風格可能)可以在這裏打破背景顏色。 – Alexander

+0

sry,您必須將此選項設置爲每個函數中的最後一個切換點,而不是第一個切換點。 –

+0

我想這不是我的情況。因爲我有一個動畫。 inner的div(popup)中的所有控件都是右側的幻燈片。我的問題是div的背景是透明的。移動時甚至沒有顯示邊框。所以我想這不是一個問題。 – Alexander