[英]Only one CSS transition works in PhoneGap
我正在尝试在PhoneGap中点击更改图像大小。 我有这样的代码:
HTML
<div id="saber"><div id="handle"><img src="imgs/handle.png"></div>
<div id="blade" class="blade-opened"><img src="imgs/blade-blue.png"></div></div>
JavaScript的
$("#saber").bind( "click",
function ()
{
if ($("#blade").height() > 0)
{
$("#blade").addClass("blade-closed");
}
else
{
$("#blade").removeClass("blade-closed");
}
}
);
CSS
#blade
{
text-align: center;
left: 0;
right: 0;
display: inline-block;
position: fixed;
z-index: 1;
}
.blade-opened
{
bottom: 5%;
height: 81.25%;
-webkit-transition: all 1s;
}
.blade-closed
{
bottom: 29%;
height: 0;
}
#blade img
{
height: 100%;
}
但是当我在手机上打开它时,图像会随着过渡而缩小,但是当我再次点击时,它会在1秒后立即显示。
有人可以帮我吗?
非常感谢你。
编辑
我不知道发生了什么,但它现在正在运作。 我没有改变一件事。 奇怪...
但现在,当我点击某些东西时,它会变成高亮的蓝色,这在图像上并不是很好。 有人能帮我吗?
您无需检查高度以添加或删除类。 只需切换课程
$("#saber").bind( "click", function () {
$("#blade").toggleClass("blade-closed");
});
您需要添加打开的类以增加高度。
$("#saber").bind( "click",
function ()
{
if ($("#blade").height() > 0)
{
$("#blade").removeClass("blade-opened");
$("#blade").addClass("blade-closed");
}
else
{
$("#blade").removeClass("blade-closed");
$("#blade").addClass("blade-opened");
}
});
@Kuxa,
更改:
-webkit-transition: all 1s;
至:
-webkit-transition: height 1s;
FWIW:这也会有效:
transition: height 1s;
你还需要设置position
,如下所示:
position:relative;
我无法找到好的文档来解释这一点。
更新我应该添加,当使用位置时,可以使用任何值,除了“初始”状态 - 这是static
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.