jQuery效果导致元素在动画期间重新定位

时间:2013-05-17 17:29:17

标签: jquery css jquery-ui jquery-effects

当我在select元素上进行动画显示/隐藏时,它会在动画期间重新定位。我对“身体”的风格无能为力;它是应用程序中的标准类标记。是否有一些简单的CSS可以应用于select元素,以防止它重新定位?

更新:在代码和示例中添加了第三个select元素

示例:http://jsfiddle.net/DSULq/8/

<div id="body" style="position: absolute; top: 100px;">
    <div id="toolbar" style="background-color: grey; width: 400px;">
        <select>
            <option>A</option>
            <option>B</option>
            <option>C</option>
            <option>D</option>
            <option>E</option>
        </select>
        <select id="toggleMe">
            <option>A</option>
            <option>B</option>
            <option>C</option>
            <option>D</option>
            <option>E</option>
        </select>
        <select>
            <option>A</option>
            <option>B</option>
            <option>C</option>
            <option>D</option>
            <option>E</option>
        </select>
    </div>
<div>
<button>do effect</button>

$("button").click(function () {
    if ($("#toggleMe").is(":visible")) {
        $("#toggleMe").hide("slide", "slow");
    } else {
        $("#toggleMe").show("slide", "slow");
    }
});

2 个答案:

答案 0 :(得分:3)

这个怎么样:

$("button").click(function () {
    $("#toggleMe").fadeToggle("slow");
});

DEMO

答案 1 :(得分:0)

只需为#toggleMe使用固定位置:

CSS:

 #toggleMe {
     position: fixed;
     top: 100px;
     left: 50px;
 }

http://jsfiddle.net/jk46K/1/