jquery列表拖动排列(由项目提取相当好用)

下面我将详细讲解“jquery列表拖动排列(由项目提取相当好用)”的完整攻略。

1. 前言

该攻略是基于jQuery实现的列表拖动排序,可以方便地实现用鼠标拖拽方式调整顺序。

2. 实现步骤

2.1 引入jQuery库文件

首先需要引入jQuery库文件,建议使用CDN方式引入,以提高页面加载速度。

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>

2.2 编写HTML结构

下一步需要编写列表的HTML结构,每一项都需要添加一个data-id属性,用来标识这个列表项的唯一性。

<ul id="sortable">
  <li data-id="1">Item 1</li>
  <li data-id="2">Item 2</li>
  <li data-id="3">Item 3</li>
  <li data-id="4">Item 4</li>
</ul>

2.3 调用jQuery UI库文件

因为该攻略是基于jQuery UI库实现的,所以需要在页面中引入jquery-ui.min.js库文件。

<script src="https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js"></script>

2.4 编写JavaScript代码

接下来需要编写JavaScript代码,实现列表的拖拽排序功能。具体实现步骤如下:

  1. 在JavaScript文件中编写以下代码:
$( function() {
  $( "#sortable" ).sortable();
  $( "#sortable" ).disableSelection();
} );
  1. 运行页面,并用鼠标拖拽列表项进行排序。

下面是一个带有四个列表项的示例:

<!doctype html>
<html>
<head>
  <title>jQuery Sortable Demo</title>
  <meta charset="utf-8">
  <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
  <ul id="sortable">
    <li data-id="1">Item 1</li>
    <li data-id="2">Item 2</li>
    <li data-id="3">Item 3</li>
    <li data-id="4">Item 4</li>
  </ul>
  <script>
    $( function() {
      $( "#sortable" ).sortable();
      $( "#sortable" ).disableSelection();
    } );
  </script>
</body>
</html>

2.5 自定义样式

如果需要自定义样式,可以添加sortableui-state-default类到列表项上。

#sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
#sortable li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; height: 1.5em; }
#sortable li span { position: absolute; margin-left: -1.3em; }

3. 示例说明

下面提供两个示例:

3.1 示例1:改变列表项背景色

<!doctype html>
<html>
<head>
  <title>jQuery Sortable Demo 1</title>
  <meta charset="utf-8">
  <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js"></script>
  <style>
    #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
    #sortable li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; height: 1.5em; }
    #sortable li span { position: absolute; margin-left: -1.3em; }
    .ui-state-default { background-color: #f0f0f0; }
  </style>
</head>
<body>
  <ul id="sortable">
    <li data-id="1"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
    <li data-id="2"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
    <li data-id="3"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
    <li data-id="4"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
  </ul>
  <script>
    $( function() {
      $( "#sortable" ).sortable();
      $( "#sortable" ).disableSelection();
    } );
  </script>
</body>
</html>

示例1实现的功能是改变拖拽排序后的列表项背景色。

3.2 示例2:改变列表项字体颜色

<!doctype html>
<html>
<head>
  <title>jQuery Sortable Demo 2</title>
  <meta charset="utf-8">
  <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js"></script>
  <style>
    #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
    #sortable li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; height: 1.5em; }
    #sortable li span { position: absolute; margin-left: -1.3em; }
    .ui-state-default { color: #f0f0f0; }
  </style>
</head>
<body>
  <ul id="sortable">
    <li data-id="1"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
    <li data-id="2"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
    <li data-id="3"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
    <li data-id="4"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
  </ul>
  <script>
    $( function() {
      $( "#sortable" ).sortable();
      $( "#sortable" ).disableSelection();
    } );
  </script>
</body>
</html>

示例2实现的功能是改变拖拽排序后的列表项字体颜色。

4. 总结

通过以上代码,就可以方便地在项目中使用jQuery实现拖拽排序功能。不过该攻略依赖于jQuery UI库文件,所以在使用前需要确认页面中已经引入了该库文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery列表拖动排列(由项目提取相当好用) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • VUE引入腾讯地图并实现轨迹动画的详细步骤

    下面是VUE引入腾讯地图并实现轨迹动画的详细步骤: 引入腾讯地图 JavaScript API 在 index.html 中,在 head 标签中添加以下代码来引入腾讯地图 JavaScript API: <script src="//map.qq.com/api/js?v=2.exp&key=在此处填写你的腾讯地图key"…

    css 2023年6月11日
    00
  • 新版chrome浏览器设置允许跨域的实现

    略 I.前言: 在前端开发过程中,我们会遇到跨域问题,一些浏览器设置默认是不允许跨域的。Chrome浏览器是目前使用人数最多的浏览器,由于chrome浏览器的更新迭代比较频繁,所以每个版本的设置有所不同,我的系统是macOSBig Sur10.15.7,Chrome版本为94.0.4606.61,本文详细讲解该版本Chrome浏览器设置允许跨域的三种实现方式…

    css 2023年6月9日
    00
  • 不规则背景墙 CSS实现背景图片不规则的导航菜单

    当我们需要实现一个不规则形状的背景墙或者导航菜单时,可以使用CSS中的clip-path属性和polygon函数来实现。具体步骤如下: 1.创建一个包含所有导航链接的容器。在此容器中添加多个链接,每一个链接代表一个导航项。 2.为每个导航链接设置背景图片,并将其设置为当前导航项的背景图片。 3.使用CSS clip-path属性和polygon函数为导航链接…

    css 2023年6月9日
    00
  • 用 CSS background 实现刻度线的呈现

    用 CSS background 实现刻度线的呈现,可以通过利用相关CSS属性和技巧实现,下面是具体步骤: 步骤一: 制作刻度线图案 首先,我们需要建立一个背景图案作为刻度线,具体制作方法如下: 通过ps或者其他图片编辑工具,建立一个宽度为1像素、高度为10像素的透明背景图片。 分成两个部分,一个是白色刻度线,一个是灰色背景,分别涂上颜色。 将两个部分分别保…

    css 2023年6月9日
    00
  • CSS实现背景透明文字不透明兼容各种浏览器有图有真相

    当我们需要在网页中实现背景透明文字不透明的效果时,可以通过CSS代码来实现。下面是一份完整攻略,包含了兼容各种浏览器的方法和两个示例说明。 原理说明 背景透明文字不透明的效果实际上可以通过backdrop-filter属性实现。这个属性可以对元素的背景应用一个滤镜效果,从而达到半透明或模糊的效果。同时,在覆盖一层背景色的时候,可以通过设置该背景色的opaci…

    css 2023年6月9日
    00
  • HTML+CSS相对宽度和绝对宽度冲突时的div解决方法

    HTML+CSS 相对宽度和绝对宽度冲突是前端开发中常遇到的问题。这种情况下,元素的宽度无法正常显示,会导致页面布局出现混乱。以下是相对宽度和绝对宽度冲突的解决方法。 1. 相对宽度和绝对宽度的定义 在解决相对宽度和绝对宽度冲突前,我们需要先理解它们的含义。 相对宽度:相对于父元素的宽度进行缩放计算,常见的单位为百分比(%)、em、rem等。 绝对宽度:使用…

    css 2023年6月10日
    00
  • css为什么要放在head标签中

    CSS(层叠样式表)是一种用于描述HTML元素如何被显示的语言。在HTML文档中,CSS可以被放置在HTML页面中的三个位置: 标签内、标签内或者外部的CSS文件中。然而,通常情况下我们把CSS样式表放在标签中,以下是CSS放在标签中的几个好处: 1. 加载顺序 浏览器在加载网页时会从上到下逐行解析HTML文档,因此如果我们把CSS放在标签内,浏览器会先加载…

    css 2023年6月11日
    00
  • HTML标记第2/2页

    HTML标记(HTML markup)是HTML文档中使用的符号和字词,这些符号和字词被称为(HTML)元素(Element)和标记(Tag)。在HTML文档中,标记告诉浏览器如何显示文本和其他元素。下面介绍HTML标记的完整攻略: 标题 在HTML中,使用 – 标记来定义标题,其表示从最高级标题到最低级标题,这对于SEO优化非常重要。例如: <h1&…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部