javascript - jquery draggable 在将 div 设置为 "position: static"后停止工作

标签 javascript jquery css jquery-ui draggable

我目前有一个简单的 div 框设置,我可以通过 jquery 可拖动功能移动它。我现在遇到了一个我无法弄清楚的问题。 如果我最初使用以下设置加载页面,则拖动效果非常好:

html:
<div id="box_1" class="card ui-widget-content"><p>Peter</p></div>
<div id="box_2" class="card ui-widget-content"><p>Susan</p></div>
...

css:
.card {
    width: 200px;
    height: 280px;
    border: 1px solid blue;
    padding: 10px;
    margin: 15px;
    box-sizing: border-box;
    float: left;
    position: static;
}

js:
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

<script>


$(document).ready(function(){

    $( ".card" ).draggable();

    }); 
</script>

现在我想添加一个按钮,将 div“重置”为原始网格:

    $( "#grid" ).click(function() 
    {
        $('.card').css({position: 'static'});

    });

我认为只使用“position: 'static'”是最简单的,因为这在打开页面时已经有效。现在的问题是,虽然 div 按照我希望的方式重新调整为网格,但可拖动功能消失了。

我已经尝试在 div 上“禁用”和“启用”可拖动,但它不起作用。

我有点困惑为什么这个功能就停止了。

非常感谢你的帮助:D

最佳答案

要将卡片设置回原来的位置,只需将 lefttop 设置为 0。

$( ".card" ).draggable();


$( "#grid" ).click(function() 
{
    //$('.card').css({position: 'initial'});
    $( ".card" ).css({top:0,left:0});

});

http://jsfiddle.net/h2mwo7um/4/

编辑 正如@Paul 已经注意到的,draggable 调用会覆盖卡片的 css,这就是初始设置无关紧要的原因。

关于javascript - jquery draggable 在将 div 设置为 "position: static"后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33439010/

相关文章:

javascript - 按 HTML 实体分割字符串?

javascript - 如何使用 jQuery 获取非特定 DIV 元素的内容

javascript - 简单的 JavaScript/jQuery 不起作用

css - BootStrap 2.0 的选项卡 JavaScript 不起作用

javascript - Bootstrap Selectpicker - noneResultsText 不适用于 optgroup

JavaScript:意思?

javascript - WordPress 注入(inject) js 脚本

javascript - jQuery 点击监听器无法正常工作 - 已关闭

php - 在 PHP 中为 DIV 包含 CSS

html - 无法摆脱容器和页脚之间的空白