.insert在Jquery不工作之前?

时间:2012-12-11 14:37:43

标签: jquery

我已经整理了一个简单的Jquery,点击一个锚标签(高级搜索)切换下面的更多内容并移动搜索按钮,一切都按预期工作,除了当我切换回元素原始布局搜索按钮不会向后移动..有点难以理解为什么

我把它放在jsfiddle http://jsfiddle.net/richlewis14/fn9E8/1

这是我的Jquery

$(document).ready(function() {
    $('#hiddenSearch').hide();
    $('#aSearch').click(function(e) {
        e.preventDefault();
        $('#hiddenSearch').slideToggle();
        if ($('#hiddenSearch').is(':visible')) {
            $('#searchButton').insertAfter('#last')
        } else {
            $('#searchButton').insertBefore('#aSearch')
        }
    });
});

我缺少什么?

由于

1 个答案:

答案 0 :(得分:4)

将该代码放入slideToggle的回调中,以确保“高级搜索”面板已完全显示/隐藏:

$(document).ready(function() {
    $('#hiddenSearch').hide();
    $('#aSearch').click(function(e) {
        e.preventDefault();
        $('#hiddenSearch').slideToggle(function() {
            if ($('#hiddenSearch').is(':visible')) {
                $('#searchButton').insertAfter('#last')
            } else {
                $('#searchButton').insertBefore('#aSearch')
            }
        });

    }); //a#search click function
}); // document function​