关于编程练习

关于编程练习

请问如何实现把最后一个元素拖放到第一位时其余元素全部后退一位的功能呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
hood 2018-03-06 22:23:20

可以用insertBefore() 这个方法

liList[i].addEventListener("drop", function (e) {
    e.preventDefault();
    if (this !== dragSelf) {
      let parent = this.parentNode;
      parent.insertBefore(dragSelf, this);
    }
  });


好帮手慕糖 2017-10-04 17:52:26

你好,关于这道题,总结了一下思路,即:

首先获取到id card

然后获取到每一个li

设置for循环,在循环中给li设置ondragstart事件

然后设置ondragover事件,返回值设置为return false;

最后设置ondrop事件

以上是该题的实现思路!若还不能解决,建议:可将你的代码粘贴过来。

祝学习愉快~

  • 提问者 leung丶beyond #1
    这是代码,麻烦了 (function($){ var dragSrc; $("#card").find(".li").each(function(index,ele){ $(ele).on("dragstart",function(e){ dragSrc=this; e.originalEvent.dataTransfer.setData("text/html",this.innerHTML); e.originalEvent.dataTransfer.setDragImage($("#image").clone().removeClass("hide")[0],0,0); }).on("dragover",function(e){ e.preventDefault(); }).on("drop",function(e){ if(dragSrc!=this){ dragSrc.innerHTML=this.innerHTML; this.innerHTML= e.originalEvent.dataTransfer.getData("text/html",this.innerHTML); } }); })
    2017-10-06 09:39:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5&CSS3进阶与常用框架 2018
  • 参与学习       315    人
  • 提交作业       136    份
  • 解答问题       626    个

如果你有H5、CSS3、JS基础,热爱前端并希望在前端应用方面不断进步,那就来吧,本路径为你带来的课程有HTML5进阶、CSS3进阶、JS面向对象、jQ基础、Less等,助你进一步提升前端开发技能

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师