2012-10-10 30 views
1

我不知道是否有任何方式(使用jQuery)獲得與頁面相同的效果 - 客戶需要相同的效果,但在jQuery中(這是在actionscript中 - http://www.shoppingmetropolitanobarra.com.br/site/web/lojas.php)。jQuery在容器中淡入淡出,並在下一個容器中淡入淡出

我試圖變成一個jQuery代碼,但沒有成功:

http://jsfiddle.net/pq667/2/

會有幾個容器,每使用jQuery animate方法多個縮略圖,即完成了一個容器,應使用fadeOut效果和fadeIn下一個容器(發生在頁面加載時)。

有什麼建議嗎?

+1

如果您使用[jQuery而不是MooTools](http://jsfiddle.net/davidThomas/pq667/4/)它似乎做了一些事情。但我不確定你在找什麼。 –

+0

我會爲你做這個,我會給你一個jsfiddle鏈接。給我〜15分鐘... – hjuster

回答

0

瀏覽器有一個在我的例子http://jsfiddle.net/qEAJu/20/,如果要達到這個效果變焦使用this plugin爲CSS過渡考慮。

+0

該代碼似乎有點過於複雜的影響。 – Andy

+0

非常感謝!效果非常相似,最大的問題是:如何在預覽容器的fadeOut之後進入下一個容器。 –

+0

你是什麼意思,,去下一個容器「? – hjuster

0

您需要使用定位發揮,因爲你會看到,但確實在,延遲淡入,淡出,你問的...

http://jsfiddle.net/pq667/11/

這是一個簡單的在第一個動畫之後添加另一個延遲的情況,然後另一個動畫以做相反的動作。

我會推薦將它們全部定位在一個相對定位的容器中,並將位置(左側&頂部)以及寬度和高度設置爲動畫。

1

我經常從http://paulirish.com/2008/sequentially-chain-your-callbacks-in-jquery-two-ways/更改此片段。通過任意jQuery對象上自動執行的回調鏈:temp01

(function hidenext(jq){ 
    jq.eq(0).fadeOut("fast", function(){ 
     (jq=jq.slice(1)).length && hidenext(jq); 
    }); 
})($('div#bodyContent a')); 

你可以改變什麼上面是這樣的:

$('.block').hide(); 

(function showNext(ele){ 
    ele.eq(0).fadeIn('slow', function(){ 
     (ele=ele.slice(1)).length && showNext(ele); 
    }); 
})($('.block'))​ 

這裏有一個的jsfiddle我設置爲顯示你的可能性:http://jsfiddle.net/hqgVS/

+0

問題在於,它不可能像OP中的例子那樣重疊動畫。 – Andy

+0

的確如此。這是一個優雅的解決方案,對於這個例子來說不是100%完美的,但是有可能完成已經完成的工作,並且可以構建一些更符合項目要求的定製工具。 –

+0

@Andy - +1,你的解決方案真的很棒! –

1

這個確切的效果只能用於CSS3轉換。 原因是文本的縮放。你當然可以通過改變元素的大小甚至字體來僞造它,但是很難達到預期的效果。

例如:

的jQuery:

$('li').each(function(i, el) { 
    setTimeout(function() { 
     $(el).addClass('show'); 
    }, ($('li').length - i) * 500); 
});​ 

CSS:

li.show{ 
    -webkit-transition:all 1s ease-out; 
    opacity:1; 
    -webkit-transform:scale(1); 
} 

演示: http://jsfiddle.net/6xL7R/
(查看WebKit的瀏覽器,如Chrome瀏覽器,因爲我省略了其他供應商前綴)


你可以使用jQuery做的不透明度動畫,但:

的jQuery:

$('li').css({'opacity':0}).each(function(i,el){ 
    $(el).delay(($('li').length-i)*500).animate({'opacity':1},1000); 
}); 

(在我的小提琴評論部分)

也許這兩者的組合會爲你解決? 在兼容的瀏覽器上顯示比例。

或檢查與http://modernizr.com/

+0

你也可以用jQuery來做這個位置。您只需在寬度和高度的同一時間設置頂部和左側的動畫:) – Archer

+0

@Archer:當然,但不會縮放元素的內容。並可能導致文本中斷的怪異行爲。我會更新我的答案以澄清。 – Andy

+0

@安迪:非常好,老兄!但是,我怎樣才能移動到下一個容器(有另外8個商店)呢? –