2013-04-10 53 views
0

我有了這個jQuery的規則設置.preloader顯示無使用jQuery將新的CSS應用於元素,如何添加轉換?

$(".preloader").css("display", "none"); 

我如何過,我希望它與淡出效果消失,並且還,而它的衰落縮小,我不知道該怎麼辦縮小效果,但我試圖應用這使它淡出

$(".preloader").css("display", "none").fadeOut("200"); 

如何不管用。你能否建議如何實現這兩個效果?另外,解決方案反之亦然? (淡入它,並放大,直到它的原始尺寸)

+1

你不能褪色顯示無,淡出只是改變不透明度 – 2013-04-10 21:06:01

回答

2

$(".preloader").toggle('hide');$(".preloader").toggle('show');應該這樣做,但$.toggle()本身,如果你不關心display狀態是什麼在起作用。

然而,

$(".preloader").stop(true,false).animate({ 
    width: 'toggle', 
    height: 'toggle', 
    opacity: 'toggle' 
}); 

是涼的方式,而你只需要一個說法。您也可以使用boolean$.toggle(yourShowStateBooleanVariableGoesHere)。另外,我建議你使用id而不是class選擇器,除非它絕對必須適用於所有的class es(我覺得很少見)。

+0

很酷,什麼可以相反的切換?所以要顯示的東西? – Ilja 2013-04-10 21:11:12

+0

@IlyaKnaup你現在應該迷上兩個方向。'toggle'和'animat'ion是獲得「縮放」的唯一方法。如果你想「真正」的變焦,讓我知道,我會爲你做css3 – 2013-04-10 21:12:36

2
$(".preloader").css("display", "none").fadeOut("200"); 

此代碼首先隱藏.preloader,比試圖淡出至極是impossable因爲它已經隱藏。

試試這個:

$(".preloader").fadeOut(200); 

$(".preloader").fadeOut("fast"); 
+1

沒有引號200左右 – 2013-04-10 21:08:06

3

爲了淡化它,只需使用​​。動畫的結束實際上是設置display: none的元素:

$(".preloader").fadeOut("200"); 
0
$(".preloader").hide().fadeIn("200"); 

$(".preloader").fadeOut("200"); 
+0

$ .hide('fadeOut')/ $。show('fadeIn')不存在,對.. ..? – nbrogi 2013-04-10 22:57:47

+0

不是我所知。查看jQuery文檔的hide()和show()。他們立即工作,除非給定時間作爲參數。他們也有回調函數。 http://api.jquery.com/hide/ – Daniel 2013-04-10 23:20:26

+0

當然。 該文件並沒有說它可以工作,但由於某種原因,我記得做過類似的事情,它的工作... 我的記憶越來越糟糕我猜:-) – nbrogi 2013-04-11 10:36:14

0

當fadeOut效果完成時,它將display設置爲none,所以你不需要css方法。

0
$(document).ready(function(){ 
    $(".preloader").hover(function(){ 
     $(".preloader").fadeOut(); 
    }, function(){ 
     $(".preloader").fadeIn(); 
    }); 
}); 

http://jsfiddle.net/BY3tz/8/

這應該給你一些提示。

0

如果您還想要一個縮小,這可能是一個可能的sollution:

$('.preloader').animate({width: 'toggle', height: 'toggle', opacity: 'toggle'}, 1000); 

使用同一把它找回來。

看一看fiddle

相關問題