2016-05-27 118 views
0

我剛剛在Behance上看到了一個非常酷的頁面轉換,點擊一個圖像,它只是擴展到一個新的div(我認爲)與50%。有人能向我解釋如何做這項工作或有一個例子嗎?過渡位置:Ajax圖像頁面轉換

https://vimeo.com/162486588

+0

聽起來像任何的1000一個[收藏的(https://www.google.co.uk/search?q=jquery+lightbox) –

回答

1

您可以使用css transitions如果你喜歡。檢查我爲你寫的example

.normal { 
    float: left; 
    margin-right: 10px; 
    width: 10%; 
    height: auto; 
    transition: width 2s, height 2s; 
} 

.transition { 
    width: 50%; 
    height: auto; 
} 

他們基本上通過定義「開始」值工作(在我們的情況下寬度內.normal &高度),也對如何使過渡和哪些屬性將它應用到一個定義(在我們的例子widthheight每個持續2s)。

如果您現在向具有不同值屬性的元素(在我們的示例中爲.transition)添加一個類,它們將被動畫爲新值。

要完成該示例,我還添加了一些在轉換完成後淡入的文本。

javascript部分非常簡單:單擊圖像時,添加.transition類,然後等待2秒(過渡時間),最後淡入文本。

$('img').click(function() { 
    $(this).addClass('transition'); 
    setTimeout(function() { 
      $('.text').fadeIn(); 
    }, 2000); 
}); 
+0

嘿,這是偉大的。如果圖像位於網格的某個小孩身上,並且父母的位置相對等,該怎麼辦? –

+0

然後,您可以嘗試使用某種疊加,基本上疊加一個div絕對定位的div,該圖像具有相同的位置,並且圖像的起始大小相同,並將其轉換爲您需要的大小。這是一個燈箱的方向,就像上面評論中提到的@ freedomn-m一樣。 –