Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在单击按钮时显示和隐藏按钮,并在单击按钮时移动按钮_Javascript_Jquery - Fatal编程技术网

Javascript Jquery在单击按钮时显示和隐藏按钮,并在单击按钮时移动按钮

Javascript Jquery在单击按钮时显示和隐藏按钮,并在单击按钮时移动按钮,javascript,jquery,Javascript,Jquery,我是Jquery的初学者,我已经成功地获得了一个显示div的按钮,以及在显示div时向右移动的按钮。我看到过类似的切换可见性等问题,但我也需要在单击时移动按钮,但我尝试按照他们的逻辑让它工作,但没有成功 但是,当我再次单击时(隐藏div并向后移动按钮),我却无法让它工作 有人能告诉我哪里出了问题吗 Html <button id="myfilterFunction">Show/Hide</button> <div id="filterview">

我是Jquery的初学者,我已经成功地获得了一个显示div的按钮,以及在显示div时向右移动的按钮。我看到过类似的切换可见性等问题,但我也需要在单击时移动按钮,但我尝试按照他们的逻辑让它工作,但没有成功

但是,当我再次单击时(隐藏div并向后移动按钮),我却无法让它工作

有人能告诉我哪里出了问题吗

Html

<button id="myfilterFunction">Show/Hide</button>

    <div id="filterview">
    <?php echo $column_right; ?></div>
    </div>
显示/隐藏
Javascript

<script>
        $( "#myfilterFunction" ).click(function() {                                 
            if ($( "#filterview" ).css('display', 'none')) {
            $('#filterview').show();
            $( "#myfilterFunction" ).css('margin-left', '300px');
            }

           if ($( "#filterview" ).css('display', 'block')) {
            $('#filterview').hide();
            $( "#myfilterFunction" ).css('margin-left', '0');
            }
            });
</script>

$(“#myfilterFunction”)。单击(函数(){
if($(“#filterview”).css('display','none')){
$('filterview').show();
$(“#myfilterFunction”).css('margin-left','300px');
}
if($(“#filterview”).css('display','block')){
$('filterview').hide();
$(“#myfilterFunction”).css('margin-left','0');
}
});

您没有正确检查元素的可见性。您应该使用
.is(“:visible”)
检查元素的可见性(使用jQuery)并相应地处理代码:

$("#myfilterFunction").click(function () {
    // If the element is visible
    if ($("#filterview").is(":visible")) {
        // Code to process
        $('#filterview').hide();
        $("#myfilterFunction").css('margin-left', '0');
    } else {
        // If the element is not visible
        $('#filterview').show();
        $("#myfilterFunction").css('margin-left', '300px');
    }
});

$(“#filterview”).css('display','none')
用于实际设置元素的css display属性。

非常感谢修复该属性,并将对我的未来有所帮助!美好的作为进一步的参考,这个问题(和答案)对于像您正在做的可见性检查很有用