我正在使用以下代碼。 通過點擊div
id="popUpPane"
,在div
和它的孩子的應該會出現,慢慢地淡出。Safari中帶有不透明度和可見性的JavaScript觸發轉換
再次點擊股利,應該慢慢地淡出,然後消失。
Firefox和Chrome(也就是webkit)的行爲方式,我也知道Safari也在早期版本中做過。但是,當我點擊「popUpPane
」時,在Safari和Safari Mobile上就知道沒有任何反應。
這是一個在Safari中的錯誤,或者有什麼我可以改變回到預期的行爲?
另外一個:如果我將-webkit-transition
設置爲-webkit-transition: opacity .5s ease-in-out;
它可以正常工作,但轉換隻出現在第一次點擊上。在第一個之後沒有任何轉換......如果我刪除了java腳本中的opacity
-part,則opo-up可以工作,但沒有轉換。
我的網站上的所有其他轉換正在工作。但他們都只使用opacity
而不是visibility
。
這裏是我的代碼:
CSS:
#popUpPane {
white-space:normal;
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
text-align:center;
vertical-align:middle;
visibility:hidden;
z-index:90;
}
#greyOut {
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
background-color:#000;
opacity:0;
}
#popUpPicCanvas {
position:relative;
top:50%;
margin-top:-325px;
display:inline;
opacity:0;
z-index:100;
}
.fade {
-webkit-transition: all .5s ease-in-out;
-moz-transition: all .5s ease-in-out;
-o-transition: all .5s ease-in-out;
transition: all .5s ease-in-out;
}
HTML:
<div id="popUpPane" onClick="noPopUp()">
<div id="greyOut" class="fade"> </div>
<canvas id="popUpPicCanvas" width="1000" height="650" title="Bastian Beuttel" class="fade"></canvas>
</div>
的Javascript:
var popUpPane = document.getElementById("popUpPane"),
greyOut = document.getElementById("greyOut"),
popUpPicCanvas = document.getElementById("popUpPicCanvas"),
popCanvasContext = popUpPicCanvas.getContext("2d");
var doPopUp = function(source,x,y){
var popUpPic = document.getElementById("pic"+source);
popCanvasContext.canvas.width = x;
popCanvasContext.canvas.height = y;
popCanvasContext.drawImage(popUpPic, 0, 0,x,y);
popUpPane.style.visibility = "visible";
greyOut.style.opacity = "0.7";
popUpPicCanvas.style.opacity = "1";
};
var noPopUp = function(){
greyOut.style.opacity = "0";
popUpPicCanvas.style.opacity = "0";
popUpPane.style.visibility = "hidden";
};
我希望有人能幫助我。
感謝您的迴應!