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

yizhihongxing

下面我将详细讲解“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日

相关文章

  • html pre标记里内容自动换行

    当在HTML页面中展示一些预格式的文本,如程序代码、诗歌、电子邮件等等,我们可以使用HTML中的预格式文本标签 <pre>。它的作用是保留文本中的空白符,包括空格、制表符和换行符。 默认情况下,HTML中的其他标签在显示文本时会忽略拥有的换行符和制表符,这意味着如果您在HTML页面中编写一段文本那么文本将连续显示在一起而没有断行。这种情况下,可以…

    css 2023年6月10日
    00
  • 基于display:table的CSS布局让HTML元素和像table一样

    使用display:table属性可以将HTML元素的布局方式呈现出类似于table的表格布局形式,实现页面的灵活排版,关键步骤如下: 1.创建HTML结构 首先,在HTML中创建需要布局的元素,并通过嵌套来构建表格,例如: <div class="table"> <div class="row"&g…

    css 2023年6月10日
    00
  • python selenium模拟点击问题解决方案

    针对“python selenium模拟点击问题解决方案”,以下是完整攻略的详细讲解: 1.问题概述 在使用Selenium模拟点击时,可能出现一些无法点击或者需要移动到元素位置才能点击等问题。 无法单击元素 单击时出现错误 需要移动到元素位置才能单击 2.解决方案 2.1 显示等待 处理无法单击元素或单击时出现错误的问题,可以使用Selenium的显示等待…

    css 2023年6月10日
    00
  • 浅谈CSS中overflow清除浮动的用法

    以下是关于 “浅谈CSS中overflow清除浮动的用法” 的详细攻略。 什么是浮动 在CSS中,浮动指将元素从其正常位置移动,并沿着其父元素的左侧或右侧浮动。这个概念是为了能够将文本和图片等元素组合在一起,以形成复杂的布局。 浮动元素带来的问题 当一个元素浮动时,其它元素可能会出现在它的下方,这时候就需要通过清除浮动来确保页面布局不混乱。 如何清除浮动 空…

    css 2023年6月10日
    00
  • JS 仿腾讯发表微博的效果代码

    首先讲解一下JS仿腾讯发表微博的效果代码需要的知识点: 获取DOM元素及其属性值。使用document.getElementById()或document.querySelector()获取DOM元素,通过元素对象的value属性获取输入框的值,通过元素对象的innerHTML属性改变提示信息的内容。 利用按钮添加点击事件。通过给按钮元素对象绑定onclic…

    css 2023年6月10日
    00
  • Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)

    关于Vue实现拖动滑块验证功能的步骤,我将详细讲解以下攻略。 1. 创建Vue项目 使用Vue CLI来创建Vue项目。在命令行中输入以下命令: vue create drag-slider 然后按照提示选择使用default preset和保存路径。等待安装完毕后,进入项目目录: cd drag-slider 2. 引入样式 此处我们需引入一个滑块的CSS…

    css 2023年6月9日
    00
  • css 透明边框background-clip妙用

    下面是关于“CSS透明边框background-clip妙用”的详细攻略: 1. 什么是background-clip属性 background-clip 属性控制背景的显示区域,可以取多种值:border-box、padding-box、content-box 和 text,指定不同的区域展现背景图或颜色。具体解释如下: border-box:背景延伸到边…

    css 2023年6月9日
    00
  • 如何解决vue项目打包后文件过大问题

    如何解决Vue项目打包后文件过大问题: 代码优化 Vue在开发中,通常会使用第三方组件库如 ElementUI, iView等,这些组件库或插件的代码会被引入到项目中,虽然它们可以大大提高开发效率和便利性。但同时也会在打包后的文件中增加不必要的代码,增大了打包后的文件体积。因此,建议在项目中只引入必须的组件和插件,尽量减少引入不必要的资源。 另外,开发过程中…

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