{"id":9561,"date":"2024-01-20T18:05:00","date_gmt":"2024-01-20T18:05:00","guid":{"rendered":"https:\/\/codehim.com\/?p=9561"},"modified":"2024-01-22T16:05:48","modified_gmt":"2024-01-22T11:05:48","slug":"drag-and-drop-task-list-in-javascript","status":"publish","type":"post","link":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/","title":{"rendered":"Drag and Drop Task List in JavaScript"},"content":{"rendered":"<p>This code implements a Drag and Drop Task List in JavaScript. It utilizes dragula to allow task movement between different columns. The code creates columns for tasks: &#8216;To Do&#8217;, &#8216;Doing&#8217;, &#8216;Done&#8217;, and &#8216;Trash&#8217;. Users can add tasks to the &#8216;To Do&#8217; column using the addTask() function and delete tasks from the &#8216;Trash&#8217; column with the emptyTrash() function. The drag-and-drop feature enables organizing tasks into different categories easily.<\/p>\n<p>You can use this code on your website to create an interactive task management system. It allows users to easily drag and drop tasks between different categories.<\/p>\n<h2>How to Create Drag And Drop Task List In JavaScript<\/h2>\n<p>1. First, create the HTML structure for your task list. You need to set up columns for &#8216;To Do,&#8217; &#8216;Doing,&#8217; &#8216;Done,&#8217; and &#8216;Trash.&#8217; Here&#8217;s an example structure:<\/p>\n<pre class=\"prettyprint linenums lang-html\">&lt;header&gt;\r\n  &lt;h1&gt;Drag &amp; Drop&lt;br\/&gt;&lt;span&gt;Lean Kanban Board&lt;\/span&gt;&lt;\/h1&gt;\r\n&lt;\/header&gt;\r\n\r\n&lt;div class=\"add-task-container\"&gt;\r\n  &lt;input type=\"text\" maxlength=\"12\" id=\"taskText\" placeholder=\"New Task...\" onkeydown=\"if (event.keyCode == 13)\r\n                        document.getElementById('add').click()\"&gt;\r\n  &lt;button id=\"add\" class=\"button add-button\" onclick=\"addTask()\"&gt;Add New Task&lt;\/button&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;div class=\"main-container\"&gt;\r\n  &lt;ul class=\"columns\"&gt;\r\n\r\n    &lt;li class=\"column to-do-column\"&gt;\r\n      &lt;div class=\"column-header\"&gt;\r\n        &lt;h4&gt;To Do&lt;\/h4&gt;\r\n      &lt;\/div&gt;\r\n      &lt;ul class=\"task-list\" id=\"to-do\"&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Analysis&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Coding&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Card Sorting&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Measure&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n      &lt;\/ul&gt;\r\n    &lt;\/li&gt;\r\n\r\n    &lt;li class=\"column doing-column\"&gt;\r\n      &lt;div class=\"column-header\"&gt;\r\n        &lt;h4&gt;Doing&lt;\/h4&gt;\r\n      &lt;\/div&gt;\r\n      &lt;ul class=\"task-list\" id=\"doing\"&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Hypothesis&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;User Testing&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Prototype&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n      &lt;\/ul&gt;\r\n    &lt;\/li&gt;\r\n\r\n    &lt;li class=\"column done-column\"&gt;\r\n      &lt;div class=\"column-header\"&gt;\r\n        &lt;h4&gt;Done&lt;\/h4&gt;\r\n      &lt;\/div&gt;\r\n      &lt;ul class=\"task-list\" id=\"done\"&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Ideation&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Sketches&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n      &lt;\/ul&gt;\r\n    &lt;\/li&gt;\r\n\r\n    &lt;li class=\"column trash-column\"&gt;\r\n      &lt;div class=\"column-header\"&gt;\r\n        &lt;h4&gt;Trash&lt;\/h4&gt;\r\n      &lt;\/div&gt;\r\n      &lt;ul class=\"task-list\" id=\"trash\"&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Interviews&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n        &lt;li class=\"task\"&gt;\r\n          &lt;p&gt;Research&lt;\/p&gt;\r\n        &lt;\/li&gt;\r\n\r\n      &lt;\/ul&gt;\r\n      &lt;div class=\"column-button\"&gt;\r\n        &lt;button class=\"button delete-button\" onclick=\"emptyTrash()\"&gt;Delete&lt;\/button&gt;\r\n      &lt;\/div&gt;\r\n    &lt;\/li&gt;\r\n\r\n  &lt;\/ul&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;footer&gt;\r\n  &lt;p&gt;Built with &lt;a href=\"https:\/\/github.com\/bevacqua\/dragula\" target=\"_blank\"&gt;Dragula&lt;\/a&gt; and Vanilla JS by &lt;a href=\"http:\/\/nikkipantony.com\" target=\"_blank\"&gt;Nikki Pantony&lt;\/a&gt;&lt;\/p&gt;\r\n&lt;\/footer&gt;\r\n<\/pre>\n<p>2. Next, include the following CSS code in your HTML file to style the task list and make it visually appealing. The CSS code includes styling for columns, buttons, and tasks.<\/p>\n<pre class=\"prettyprint linenums lang-css\">@import url(\"https:\/\/fonts.googleapis.com\/css?family=Arimo:400,700|Roboto+Slab:400,700\");\r\n\r\n:root {\r\n  font-size: calc(0.5vw + 1vh);\r\n}\r\n\r\n* {\r\n  -webkit-box-sizing: border-box;\r\n  box-sizing: border-box;\r\n}\r\n\r\nbody {\r\n  min-width: 420px;\r\n}\r\n\r\nh1,\r\nh4 {\r\n  font-family: \"Arimo\", sans-serif;\r\n  line-height: 1.3;\r\n}\r\n\r\nheader h1 {\r\n  font-size: 2.4rem;\r\n  margin: 4rem auto;\r\n}\r\n\r\nspan {\r\n  font-size: 3rem;\r\n}\r\n\r\np {\r\n  font-family: \"Roboto Slab\", serif;\r\n}\r\n\r\na,\r\na:link,\r\na:active,\r\na:visited {\r\n  color: #0066aa;\r\n  text-decoration: none;\r\n  border-bottom: #000013 0.16rem solid;\r\n}\r\n\r\na:hover {\r\n  color: #000013;\r\n  border-bottom: #0066aa 0.16rem solid;\r\n}\r\n\r\nheader,\r\nfooter {\r\n  width: 40rem;\r\n  margin: 2rem auto;\r\n  text-align: center;\r\n}\r\n\r\n.add-task-container {\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: flex;\r\n  width: 20rem;\r\n  height: 5.3rem;\r\n  margin: auto;\r\n  background: #a8a8a8;\r\n  border: #000013 0.2rem solid;\r\n  border-radius: 0.2rem;\r\n  padding: 0.4rem;\r\n}\r\n\r\n.main-container {\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: flex;\r\n}\r\n\r\n.columns {\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: flex;\r\n  -webkit-box-align: start;\r\n  -ms-flex-align: start;\r\n  align-items: flex-start;\r\n  margin: 1.6rem auto;\r\n}\r\n\r\n.column {\r\n  width: 8.4rem;\r\n  margin: 0 0.6rem;\r\n  background: #a8a8a8;\r\n  border: #000013 0.2rem solid;\r\n  border-radius: 0.2rem;\r\n}\r\n\r\n.column-header {\r\n  padding: 0.1rem;\r\n  border-bottom: #000013 0.2rem solid;\r\n}\r\n\r\n.column-header h4 {\r\n  text-align: center;\r\n}\r\n\r\n.to-do-column .column-header {\r\n  background: #ff872f;\r\n}\r\n\r\n.doing-column .column-header {\r\n  background: #13a4d9;\r\n}\r\n\r\n.done-column .column-header {\r\n  background: #15d072;\r\n}\r\n\r\n.trash-column .column-header {\r\n  background: #ff4444;\r\n}\r\n\r\n.task-list {\r\n  min-height: 3rem;\r\n}\r\n\r\nul {\r\n  list-style-type: none;\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n\r\nli {\r\n  list-style-type: none;\r\n}\r\n\r\n.column-button {\r\n  text-align: center;\r\n  padding: 0.1rem;\r\n}\r\n\r\n.button {\r\n  font-family: \"Arimo\", sans-serif;\r\n  font-weight: 700;\r\n  border: #000013 0.14rem solid;\r\n  border-radius: 0.2rem;\r\n  color: #000013;\r\n  padding: 0.6rem 1rem;\r\n  margin-bottom: 0.3rem;\r\n  cursor: pointer;\r\n}\r\n\r\n.delete-button {\r\n  background-color: #ff4444;\r\n  margin: 0.1rem auto 0.6rem auto;\r\n}\r\n\r\n.delete-button:hover {\r\n  background-color: #fa7070;\r\n}\r\n\r\n.add-button {\r\n  background-color: #ffcb1e;\r\n  padding: 0 1rem;\r\n  height: 2.8rem;\r\n  width: 10rem;\r\n  margin-top: 0.6rem;\r\n}\r\n\r\n.add-button:hover {\r\n  background-color: #ffdd6e;\r\n}\r\n\r\n.task {\r\n  display: -webkit-box;\r\n  display: -ms-flexbox;\r\n  display: flex;\r\n  -webkit-box-pack: center;\r\n  -ms-flex-pack: center;\r\n  justify-content: center;\r\n  vertical-align: middle;\r\n  list-style-type: none;\r\n  background: #fff;\r\n  -webkit-transition: all 0.3s;\r\n  transition: all 0.3s;\r\n  margin: 0.4rem;\r\n  height: 4rem;\r\n  border: #000013 0.15rem solid;\r\n  border-radius: 0.2rem;\r\n  cursor: move;\r\n  text-align: center;\r\n  vertical-align: middle;\r\n}\r\n\r\n#taskText {\r\n  background: #fff;\r\n  border: #000013 0.15rem solid;\r\n  border-radius: 0.2rem;\r\n  text-align: center;\r\n  font-family: \"Roboto Slab\", serif;\r\n  height: 4rem;\r\n  width: 7rem;\r\n  margin: auto 0.8rem auto 0.1rem;\r\n}\r\n\r\n.task p {\r\n  margin: auto;\r\n}\r\n\r\n\/* Dragula CSS Release 3.2.0 from: https:\/\/github.com\/bevacqua\/dragula *\/\r\n\r\n.gu-mirror {\r\n  position: fixed !important;\r\n  margin: 0 !important;\r\n  z-index: 9999 !important;\r\n  opacity: 0.8;\r\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)\";\r\n  filter: alpha(opacity=80);\r\n}\r\n\r\n.gu-hide {\r\n  display: none !important;\r\n}\r\n\r\n.gu-unselectable {\r\n  -webkit-user-select: none !important;\r\n  -moz-user-select: none !important;\r\n  -ms-user-select: none !important;\r\n  user-select: none !important;\r\n}\r\n\r\n.gu-transit {\r\n  opacity: 0.2;\r\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)\";\r\n  filter: alpha(opacity=20);\r\n}<\/pre>\n<p>3. Now, load <a href=\"https:\/\/github.com\/bevacqua\/dragula\" target=\"_blank\" rel=\"noopener\">Dragula JS<\/a> by adding the following CDN link before closing the body tag:<\/p>\n<pre class=\"prettyprint linenums lang-html\">&lt;script src='https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/dragula\/3.7.2\/dragula.js'&gt;&lt;\/script&gt;<\/pre>\n<p>4. Finally, add the JavaScript code to enable the drag-and-drop functionality and task management features. You can include the code either in a <code>&lt;script&gt;<\/code> tag in your HTML or as an external JavaScript file. The JavaScript code provides functions to add tasks to the &#8216;To Do&#8217; column and delete tasks from the &#8216;Trash&#8217; column.<\/p>\n<pre class=\"prettyprint linenums lang-js\">\/* Custom Dragula JS *\/\r\ndragula([\r\n  document.getElementById(\"to-do\"),\r\n  document.getElementById(\"doing\"),\r\n  document.getElementById(\"done\"),\r\n  document.getElementById(\"trash\")\r\n]);\r\nremoveOnSpill: false\r\n  .on(\"drag\", function(el) {\r\n    el.className.replace(\"ex-moved\", \"\");\r\n  })\r\n  .on(\"drop\", function(el) {\r\n    el.className += \"ex-moved\";\r\n  })\r\n  .on(\"over\", function(el, container) {\r\n    container.className += \"ex-over\";\r\n  })\r\n  .on(\"out\", function(el, container) {\r\n    container.className.replace(\"ex-over\", \"\");\r\n  });\r\n\r\n\/* Vanilla JS to add a new task *\/\r\nfunction addTask() {\r\n  \/* Get task text from input *\/\r\n  var inputTask = document.getElementById(\"taskText\").value;\r\n  \/* Add task to the 'To Do' column *\/\r\n  document.getElementById(\"to-do\").innerHTML +=\r\n    \"&lt;li class='task'&gt;&lt;p&gt;\" + inputTask + \"&lt;\/p&gt;&lt;\/li&gt;\";\r\n  \/* Clear task text from input after adding task *\/\r\n  document.getElementById(\"taskText\").value = \"\";\r\n}\r\n\r\n\/* Vanilla JS to delete tasks in 'Trash' column *\/\r\nfunction emptyTrash() {\r\n  \/* Clear tasks from 'Trash' column *\/\r\n  document.getElementById(\"trash\").innerHTML = \"\";\r\n}<\/pre>\n<p>That&#8217;s all! hopefully, you have successfully created Drag And Drop Task List In JavaScript. If you have any questions or suggestions, feel free to comment below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This code implements a Drag and Drop Task List in JavaScript. It utilizes dragula to allow task movement between different&#8230;<\/p>\n","protected":false},"author":1,"featured_media":9575,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[116],"tags":[237],"class_list":["post-9561","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vanilla-javascript","tag-drag-and-drop"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Drag and Drop Task List in JavaScript &#8212; CodeHim<\/title>\n<meta name=\"description\" content=\"Here is a free code snippet to create a Drag and Drop Task List in JavaScript. You can view demo and download the source code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Drag and Drop Task List in JavaScript &#8212; CodeHim\" \/>\n<meta property=\"og:description\" content=\"Here is a free code snippet to create a Drag and Drop Task List in JavaScript. You can view demo and download the source code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"CodeHim\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/codehimofficial\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-20T18:05:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-22T11:05:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"960\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Asif Mughal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodeHimOfficial\" \/>\n<meta name=\"twitter:site\" content=\"@CodeHimOfficial\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Asif Mughal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\"},\"author\":{\"name\":\"Asif Mughal\",\"@id\":\"https:\/\/codehim.com\/#\/schema\/person\/cc48f1dbe072a89a62a98171b7db43ed\"},\"headline\":\"Drag and Drop Task List in JavaScript\",\"datePublished\":\"2024-01-20T18:05:00+00:00\",\"dateModified\":\"2024-01-22T11:05:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\"},\"wordCount\":262,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/codehim.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png\",\"keywords\":[\"Drag and Drop\"],\"articleSection\":[\"Vanilla JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\",\"url\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\",\"name\":\"Drag and Drop Task List in JavaScript &#8212; CodeHim\",\"isPartOf\":{\"@id\":\"https:\/\/codehim.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png\",\"datePublished\":\"2024-01-20T18:05:00+00:00\",\"dateModified\":\"2024-01-22T11:05:48+00:00\",\"description\":\"Here is a free code snippet to create a Drag and Drop Task List in JavaScript. You can view demo and download the source code.\",\"breadcrumb\":{\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage\",\"url\":\"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png\",\"contentUrl\":\"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png\",\"width\":1280,\"height\":960,\"caption\":\"Drag and Drop Task List in JavaScript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codehim.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vanilla JavaScript\",\"item\":\"https:\/\/codehim.com\/category\/vanilla-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Drag and Drop Task List in JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codehim.com\/#website\",\"url\":\"https:\/\/codehim.com\/\",\"name\":\"CodeHim\",\"description\":\"Web Design Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/codehim.com\/#organization\"},\"alternateName\":\"Web Design Codes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codehim.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/codehim.com\/#organization\",\"name\":\"CodeHim - Web Design Code & Scripts\",\"url\":\"https:\/\/codehim.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codehim.com\/#\/schema\/logo\/image\/\",\"url\":\"http:\/\/codehim.com\/wp-content\/uploads\/2023\/06\/Codehim-short-logo.jpg\",\"contentUrl\":\"http:\/\/codehim.com\/wp-content\/uploads\/2023\/06\/Codehim-short-logo.jpg\",\"width\":280,\"height\":280,\"caption\":\"CodeHim - Web Design Code & Scripts\"},\"image\":{\"@id\":\"https:\/\/codehim.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/codehimofficial\",\"https:\/\/x.com\/CodeHimOfficial\",\"https:\/\/www.instagram.com\/codehim\/\",\"https:\/\/www.linkedin.com\/company\/codehim\",\"https:\/\/co.pinterest.com\/codehim\/\",\"https:\/\/www.youtube.com\/@codehim\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/codehim.com\/#\/schema\/person\/cc48f1dbe072a89a62a98171b7db43ed\",\"name\":\"Asif Mughal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codehim.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b25bfcd7d4e341c2c6f785a88d8ad2a4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b25bfcd7d4e341c2c6f785a88d8ad2a4?s=96&d=mm&r=g\",\"caption\":\"Asif Mughal\"},\"description\":\"I code and create web elements for amazing people around the world. I like work with new people. New people new Experiences. I truly enjoy what I'm doing, which makes me more passionate about web development and coding. I am always ready to do challenging tasks whether it is about creating a custom CMS from scratch or customizing an existing system.\",\"sameAs\":[\"https:\/\/codehim.com\"],\"url\":\"https:\/\/codehim.com\/author\/asif-mughal\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Drag and Drop Task List in JavaScript &#8212; CodeHim","description":"Here is a free code snippet to create a Drag and Drop Task List in JavaScript. You can view demo and download the source code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/","og_locale":"en_US","og_type":"article","og_title":"Drag and Drop Task List in JavaScript &#8212; CodeHim","og_description":"Here is a free code snippet to create a Drag and Drop Task List in JavaScript. You can view demo and download the source code.","og_url":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/","og_site_name":"CodeHim","article_publisher":"https:\/\/www.facebook.com\/codehimofficial","article_published_time":"2024-01-20T18:05:00+00:00","article_modified_time":"2024-01-22T11:05:48+00:00","og_image":[{"width":1280,"height":960,"url":"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png","type":"image\/png"}],"author":"Asif Mughal","twitter_card":"summary_large_image","twitter_creator":"@CodeHimOfficial","twitter_site":"@CodeHimOfficial","twitter_misc":{"Written by":"Asif Mughal","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#article","isPartOf":{"@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/"},"author":{"name":"Asif Mughal","@id":"https:\/\/codehim.com\/#\/schema\/person\/cc48f1dbe072a89a62a98171b7db43ed"},"headline":"Drag and Drop Task List in JavaScript","datePublished":"2024-01-20T18:05:00+00:00","dateModified":"2024-01-22T11:05:48+00:00","mainEntityOfPage":{"@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/"},"wordCount":262,"commentCount":0,"publisher":{"@id":"https:\/\/codehim.com\/#organization"},"image":{"@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png","keywords":["Drag and Drop"],"articleSection":["Vanilla JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/","url":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/","name":"Drag and Drop Task List in JavaScript &#8212; CodeHim","isPartOf":{"@id":"https:\/\/codehim.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage"},"image":{"@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png","datePublished":"2024-01-20T18:05:00+00:00","dateModified":"2024-01-22T11:05:48+00:00","description":"Here is a free code snippet to create a Drag and Drop Task List in JavaScript. You can view demo and download the source code.","breadcrumb":{"@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#primaryimage","url":"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png","contentUrl":"https:\/\/codehim.com\/wp-content\/uploads\/2023\/10\/Drag-and-Drop-Task-List-in-JavaScript.png","width":1280,"height":960,"caption":"Drag and Drop Task List in JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/codehim.com\/vanilla-javascript\/drag-and-drop-task-list-in-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codehim.com\/"},{"@type":"ListItem","position":2,"name":"Vanilla JavaScript","item":"https:\/\/codehim.com\/category\/vanilla-javascript\/"},{"@type":"ListItem","position":3,"name":"Drag and Drop Task List in JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/codehim.com\/#website","url":"https:\/\/codehim.com\/","name":"CodeHim","description":"Web Design Code Snippets","publisher":{"@id":"https:\/\/codehim.com\/#organization"},"alternateName":"Web Design Codes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codehim.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/codehim.com\/#organization","name":"CodeHim - Web Design Code & Scripts","url":"https:\/\/codehim.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codehim.com\/#\/schema\/logo\/image\/","url":"http:\/\/codehim.com\/wp-content\/uploads\/2023\/06\/Codehim-short-logo.jpg","contentUrl":"http:\/\/codehim.com\/wp-content\/uploads\/2023\/06\/Codehim-short-logo.jpg","width":280,"height":280,"caption":"CodeHim - Web Design Code & Scripts"},"image":{"@id":"https:\/\/codehim.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/codehimofficial","https:\/\/x.com\/CodeHimOfficial","https:\/\/www.instagram.com\/codehim\/","https:\/\/www.linkedin.com\/company\/codehim","https:\/\/co.pinterest.com\/codehim\/","https:\/\/www.youtube.com\/@codehim"]},{"@type":"Person","@id":"https:\/\/codehim.com\/#\/schema\/person\/cc48f1dbe072a89a62a98171b7db43ed","name":"Asif Mughal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codehim.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b25bfcd7d4e341c2c6f785a88d8ad2a4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b25bfcd7d4e341c2c6f785a88d8ad2a4?s=96&d=mm&r=g","caption":"Asif Mughal"},"description":"I code and create web elements for amazing people around the world. I like work with new people. New people new Experiences. I truly enjoy what I'm doing, which makes me more passionate about web development and coding. I am always ready to do challenging tasks whether it is about creating a custom CMS from scratch or customizing an existing system.","sameAs":["https:\/\/codehim.com"],"url":"https:\/\/codehim.com\/author\/asif-mughal\/"}]}},"views":1321,"_links":{"self":[{"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/posts\/9561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/comments?post=9561"}],"version-history":[{"count":0,"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/posts\/9561\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/media\/9575"}],"wp:attachment":[{"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/media?parent=9561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/categories?post=9561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codehim.com\/wp-json\/wp\/v2\/tags?post=9561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}