javascript - 多个可拖动的列 handle

标签 javascript html draggable

javacsript 新手,第一次从头开始编写 Web...

大家好。 我正在尝试实现可拖动的列,就像我在堆栈上找到的这个js fiddle 一样: http://jsfiddle.net/T4St6/

我成功地使其适用于我的网站:http://www.dariusou.com/但我对如何制作多列一无所知,因为脚本专门针对 div(左,右):

var isResizing = false,
lastDownX = 0;

$(function () {
var container = $('#container'),
    left = $('#left'),
    right = $('#right'),
    handle = $('#handle');

handle.on('mousedown', function (e) {
    isResizing = true;
    lastDownX = e.clientX;
});

$(document).on('mousemove', function (e) {
    // we don't want to do anything if we aren't resizing.
    if (!isResizing) 
        return;

    var offsetRight = container.width() - (e.clientX - container.offset().left);

    left.css('right', offsetRight);
    right.css('width', offsetRight);
}).on('mouseup', function (e) {
    // stop resizing
    isResizing = false;
});
});

这段代码是否可以方便地实现我想要的目标,或者我应该寻找其他代码来工作? (我还不能从头开始编写脚本)我想要实现的只是这种带有句柄的可拖动列,但是其中有多个,就像本文所附的图像一样。 enter image description here

理想情况下,我还希望将来为每个 div(在每次加载时)实现随机拖动位置。(见附件)

enter image description here

最佳答案

首先,将句柄更改为类:

<div id='handle' class="handle"></div>

定义你的类行为:

$('.handle').on('mousedown', function (e) {
     target = e.target.id; //store the id
     isResizing = true;
     lastDownX = e.clientX;
});

添加更多 div:

<div id="left2"> This is the left side's content! </div>
    <!-- Right side -->
    <div id="right2">
        <!-- Actual resize handle -->
        <div id='handle2' class="handle"></div> This is the right side's content!
    </div>

根据目标句柄调整大小:

if(target == 'handle'){
     left.css('right', offsetRight);
     right.css('width', offsetRight);
} else if(target == 'handle2'){
     left2.css('right', offsetRight);
     right2.css('width', offsetRight);
}

检查这个 fiddle :jsfiddle.net/T4St6/292/ ,还有很多其他的制作方法,希望对你有帮助!

关于javascript - 多个可拖动的列 handle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865422/

相关文章:

javascript - Box2d 从旋转的物体中获取形状点

c# - 如何在 C# 中使用 HtmlAgilityPack 获取 HTML 元素的内容?

javascript - react-beautiful-dnd:当存在多个列表时,在一行中拖动内容会从所有行中拖动相同的索引

jquery - 拖放事件触发两次

jquery - 滚动可拖动项目的内容时禁用 jQuery 拖动

javascript - 如何设置babel导出到es4 javascript?

javascript - Express:即使发送响应后,我的代码仍然可以运行吗?

javascript - 使用 Node.js 读取 Json 文件

asp.net - 仅将样式应用于一个元素

javascript - Jquery map 不会检索选定的选项;总是空着?似乎跳过变量,适用于 jsfiddle,没有控制台错误