如何在单行中交替滑出和滑入两个div?

时间:2012-11-07 11:31:37

标签: javascript jquery css jquery-ui

我正在尝试使用jQuery幻灯片效果来滑动新添加的内容,但我无法应用任何解决方案将两个div放在一行中。如何修复下面的代码从左到右滑动?也许这段代码完全重建了?

的jsfiddle: jsfiddle

JS:

$(function() {
    $("#hello").html("Hello");
    $('#edit').toggle(function() {
        var newhtml = '<input type="text" id="hello_input" value="" />';
        slideNewContent(newhtml);
    }, function() {
        var newhtml = $("#hello_input").val();
        slideNewContent(newhtml);
    });
});

function slideNewContent(c) {
    $("#slideOut").empty();
    $("#slideIn").children().clone().appendTo("#slideOut");
    $("#slideIn").find("#hello").html(c);
    var slideOut = $("#slideOut");
    var slideIn = $("#slideIn");
    slideOutIn(slideOut, slideIn);
}

function slideOutIn(outElement, inElement) {
    var hideoptions = { "direction": "right", "mode": "hide" };
    var showoptions = { "direction": "left", "mode": "show" };
    $(outElement).effect("slide", hideoptions, 1000);
    $(inElement).effect("slide", showoptions, 1000);
}

HTML:

<div class="span3">
    <div id="slider">
        <div id="slideIn" class="content">
            <span>       
                <span id="hello"></span>
                <button class="btn btn-mini" id="edit">Edit</button>
            </span>           
        </div>
        <div id="slideOut" class="content"></div>
    </div>
</div>​

CSS:

#slider {
  /*float:left;*/
    display: inline-block;
}
#slideIn {
   width: 270px;
  /*display: inline;*/
}
#slideOut {
    width: 270px;
  /*display: inline;*/
}
#hello_input {
  width:160px;
}

1 个答案:

答案 0 :(得分:0)

编辑到此

$(outElement).effect("slide", hideoptions, 0);
    $(inElement).effect("slide", showoptions, 0);