使用一个div作为另一个javascript的目标

时间:2018-09-20 21:54:32

标签: javascript

好吧,所以我试图制作一个用于书签和此类之类的Pinbar。现在,我正在尝试添加一个用于将项目添加到pinbar的下拉圆圈。我已经使进入固定框的所有项目都可以与特定目标一起拖动。我不知道如何使“下车”圆圈成为目标,但如何将物品仍推入针杆而不是卡在圆圈内。

HTML

<html>
    <body>
        <div class="page" data-draggable="target">
            <!-- bubbles on page -->
            <ul data-draggable="target" id="dataList">
                <li data-draggable="item" class="testbud" id="testbud4"></li>
                <li data-draggable="item" class="testbud" id="testbud4"></li>
                <li data-draggable="item" class="testbud" id="testbud4"></li>
                <li data-draggable="item" class="testbud" id="testbud4"></li>
                <li data-draggable="item" class="testbud" id="testbud3"></li>
                <li data-draggable="item" class="testbud" id="testbud2"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
                <li data-draggable="item" class="testbud" id="testbud1"></li>
            </ul>
            <div class="tabs"> 
                <div class="tab-item active"><a href="#" data-target="#tab-1">Pinned</a> 
                </div>
                <div class="tab-item">
                    <a  href="#" data-target="#tab-2" id="recentTab">Recent</a>
                </div>
                <div  class="tab-pane">
                    <div class="tab-content active" id="tab-1" data-draggable="target"></div>
                    <div class="tab-content" id="tab-2" data-draggable="target">
                        <div class="rpin-container"></div>
                    </div>
                </div>
            </div>
        </div>  
    </body>
</html>  

JS

(function() {
    for (var items = document.querySelectorAll('[data-draggable="item"]'),len = items.length, i = 0; i < len;i++) {
        items[i].setAttribute("draggable", "true");
    }
    var item = null;
    document.addEventListener("dragstart",function(e) {
        item = e.target;
        e.dataTransfer.setData("text", "");
    },false);
    document.addEventListener("dragover",function(e) {
        if (item) {
            e.preventDefault();
        }
    },false);
    document.addEventListener("drop", function(e) {
        if (e.target.getAttribute("data-draggable") == "target") {
            e.target.appendChild(item);
            e.preventDefault();
        }
    },false);
    document.addEventListener("dragend", function(e) {
        item = null;
    },false);
})();

链接到密码笔“ https://codepen.io/eduardo_r/pen/eLKLLm

0 个答案:

没有答案