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日

相关文章

  • IE6和IE7中行内元素后的浮动元素被折行的问题解决

    当一个行内元素后面跟着一个浮动元素时,IE6和IE7会出现该行包含浮动元素的“坍塌”问题,导致浮动元素被折行到下一行。下面是详细的解决攻略: 解决攻略: 1. 给浮动元素添加display:inline属性 该方式是最简单的解决方法。将浮动元素从块级元素转化成行内元素,可以解决IE6和IE7中行内元素后的浮动元素被折行的问题。 float: left; di…

    css 2023年6月10日
    00
  • 涨姿势!写给网页设计师的网页设计简史

    “涨姿势!写给网页设计师的网页设计简史” 是本站关于网页设计方面的文章。该文章主要介绍了网页设计的发展历程与设计思想,帮助网页设计师更好地了解网页设计背后的历史和初衷。本文的攻略如下: 攻略 1. 阅读全文 首先,你需要阅读文章的每一个部分,了解网页设计从诞生到现在的整个发展过程,以及每一次进步背后蕴含的设计思想和意义。文章通过对早期网页设计的讲解,逐渐向读…

    css 2023年6月10日
    00
  • 有关网站网页设计中的那些事儿分享

    网站网页设计攻略 1. 确定网站主题 在进行网站网页设计之前,第一步需要确定网站的主题。需要从用户需求和需求背景出发,考虑网站的目的,然后确定网站主题,这有助于后续的网页设计。例如,一家互联网公司的网站主题可能是“打造更好的互联网产品”,一家知名美容品牌的网站主题可能是“打造健康、美丽的肌肤”。 2. 设计网站页面结构 网站页面结构设计时应考虑页面内容布局,…

    css 2023年6月10日
    00
  • IE6/7在滚动区域内的标签使用position会飘出这个滚动区域不随滚动条滚动

    问题描述 在IE6/7浏览器中,当在滚动区域内使用css属性 position: absolute 或 position: fixed 的元素时,该元素会出现跑出滚动区域的情况,具体表现为该元素不会随着滚动条的滚动而滚动,而是固定在页面顶部或左侧。 解决方案 在IE6/7浏览器中,使用 zoom:1 和 position: relative 的结合解决该问题…

    css 2023年6月10日
    00
  • 关于CSS引入方式的详细见解小结

    关于CSS引入方式的详细见解小结,我可以为你做一个完整的攻略,具体步骤如下。 1. 分类 CSS引入方式可分为三种: 内联样式 内嵌样式 外部样式表 2. 详解 2.1 内联样式 内联样式是指将CSS代码直接写在HTML标签的style属性中,在标签内使用style属性即可。 示例: <p style="color:red;"&gt…

    css 2023年6月9日
    00
  • jQuery toggle()设置CSS样式

    jQuery的toggle()方法可以用于切换样式、元素的显示与隐藏等操作。下面将详细讲解如何利用toggle()方法设置CSS样式。 toggle()方法基础使用 toggle()方法用于切换元素的可见性,被选元素隐藏就显示,被选元素显示就隐藏。 $("button").click(function(){ $("p"…

    css 2023年6月10日
    00
  • 浅谈CSS 多栏布局(Multi-Columns Layout)

    浅谈CSS 多栏布局(Multi-Columns Layout) 什么是多栏布局? 多栏布局是指将一个区域分成多个栏目,每个栏目可以独立显示内容,从而提高网页的内容展示效果和阅读体验。多栏布局可以使用 CSS 的 columns 属性来实现。 如何使用 CSS 的 columns 属性? 使用 CSS 的 columns 属性可以实现多栏布局,具体的写法和使…

    css 2023年6月11日
    00
  • 三个很特别的CSS小技巧分享

    以下就是“三个很特别的CSS小技巧分享”的完整攻略。 弹性盒子让两个子元素等分父容器 要实现让两个子元素等分父容器,我们需要用到Flex布局。首先,将父容器的display属性设置为flex,然后再通过flex-grow属性将子元素占据父容器的比例设置为1,这样两个子元素就等分了父容器。 示例代码: <div class="container…

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