Javascript,第一次点击不是动画

Javascript, first click not animated

在第一次点击时遇到了一些问题。

这是一个fiddle

如果第一个状态设置为真,第一次点击什么都不做,第二个 clik 带来隐藏 div。然后它会在下次点击时正常工作。
如果我将第一个状态设置为 false,div 将在第一次点击时突然出现,忽略 css 动画规则。下次点击将正常工作。

我错过了什么?

right css 属性 的初始设置应该是 -5%。另外,您使用的标志最初应该是 false

CSS:

.floatbox{
    position:relative;
    width:40%;
    right:-5%;  /* you need to set it initially */
    .
    .

JS:

states = [ false ];

$(document).ready(function() {
    $(".wrap").click(function() {
        var _id=$(this).attr('data-id');
        if (states[_id] == true){
            $(".floatbox")[_id].style.cssText="right:-5%;";
            states[_id]=false;
        }
        else {
            var _id=$(this).attr('data-id');
            $(".floatbox")[_id].style.cssText="right:20%;";
            states[_id] = true;
        }
    });
});

DEMO