我有一個包含圖像的大小的黑色背景div。CSS輕鬆進入全屏
<div id="Banner">
<img onclick="expand();" src="hola.jpg">
</div>
#Banner {
position:relative;
height:50px;
width:50px;
margin:0 auto;
background-color:#000000;
-webkit-transition: all 0.5s ease-in-out 0.5s;
-moz-transition: all 0.5s ease-in-out 0.5s;
-o-transition: all 0.5s ease-in-out 0.5s;
transition: all 0.5s ease-in-out 0.5s;
}
<script type="text/javascript">
function expand(){
document.getElementById('Banner').style['height'] = '250';
document.getElementById('Banner').style['width'] = '250';
}
</script>
因此,當圖像用戶點擊廣告,那麼div過渡到250,250
我的問題是,我希望它過渡到全屏。以下javascript 函數確實展開爲全屏,但不會出現過渡效果。我需要從沒有jQuery的JavaScript代碼中完成它。
function expand(){
document.getElementById('Banner').style['position'] = 'absolute';
document.getElementById('Banner').style['height'] = '100%';
document.getElementById('Banner').style['width'] = '100%';
document.getElementById('Banner').style['top'] = '0';
document.getElementById('Banner').style['left'] = '0';
}
請指教。
更新:溶液
羅傑下面提供了一個替代的解決方案。如果文檔 已經滾動並且是另一個地方,則需要注意。將div擴展到完整的瀏覽器屏幕。
sz=getSize(); //function returns screen width and height in pixels
currentWidth=200;
currentHeight=200;
scalex=sz.W/currentWidth;
scaley=sz.H/currentHeight;
transx=0-((document.getElementById("Banner").offsetLeft+(currentWidth/2))-(sz.W/2))+document.body.scrollLeft;
transy=0-((document.getElementById("Banner").offsetTop+(cuttentHeight/2))-(sz.H/2))+document.body.scrollTop;
transx = transx.toString();
transy = transy.toString();
document.getElementById("Banner").style['-webkit-transform'] = 'translate('+transx+'px,'+transy+'px) scale('+scalex+','+scaley+')';
嘗試一下。作品。我需要從div矩形的兩側擴展2d,以便填充整個瀏覽器。 –
我的意思是它的作品,但不是我想要的方式。仍在嘗試 –
@AdityaSingh您必須對您想要更改的每個屬性執行相同的操作。即高度,頂部,左側。不要指望在這裏得到完整的代碼,我給了你一個起點,並告訴你最初的概念是什麼問題。如果你只是複製/粘貼函數而不是試圖理解它,那麼你將不會獲得任何東西,這不是stackoverflow的目的。正如我告訴你的,閱讀jQuery的動畫功能並根據需要對其進行修改,但沒有人會爲您編寫代碼。在我的功能中,你所要做的就是添加高度所需的代碼。 – Roger