>웹 프론트엔드 >JS 튜토리얼 >Layui를 사용하여 드래그 앤 드롭 다단계 분류 메뉴 기능을 구현하는 방법

Layui를 사용하여 드래그 앤 드롭 다단계 분류 메뉴 기능을 구현하는 방법

王林
王林원래의
2023-10-27 09:53:071549검색

Layui를 사용하여 드래그 앤 드롭 다단계 분류 메뉴 기능을 구현하는 방법

Layui를 사용하여 드래그 앤 드롭 다단계 카테고리 메뉴 기능을 구현하려면 특정 코드 예제가 필요합니다

1. Layui 소개
Layui는 사용하기 쉽고 호환성이 뛰어난 프런트 엔드 UI 프레임워크입니다. , 일반적으로 사용되는 많은 구성 요소와 모듈을 제공하여 개발자는 아름답고 강력한 웹 인터페이스를 빠르게 구축할 수 있습니다. 그 중 레이이의 드래그 앤 드롭 컴포넌트는 드래그 가능한 다단계 분류 메뉴 기능을 구현하는 중요한 부분이다.

2. 드래그 가능한 다단계 분류 메뉴 기능 구현
다음은 Layui를 사용하여 드래그 가능한 다단계 분류 메뉴 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

  1. 레이이 소개
    먼저 HTML 파일에 레이이 관련 파일을 소개합니다. 다음과 같은 방법으로 도입할 수도 있고, 실제 상황에 따라 도입할 수도 있다.
<link rel="stylesheet" href="layui/css/layui.css" />
<script src="layui/layui.js"></script>
  1. HTML 구조
    다단계 카테고리 메뉴를 표시하려면 HTML 파일에 div 컨테이너를 정의하세요. 구조는 다음과 같습니다.
<div id="dragMenu">
  <ul class="layui-tree">
    <!-- 这里是动态生成的菜单内容 -->
  </ul>
</div>
  1. JavaScript 코드
    메뉴의 드래그 앤 드롭, 정렬, 분류 기능을 구현하는 JavaScript 코드를 작성합니다. 구체적인 코드는 다음과 같습니다.
layui.use(['tree', 'util'], function(){
  var tree = layui.tree,
      util = layui.util,
      $ = layui.$;
  
  // 渲染菜单
  tree({
    elem: '#dragMenu',
    nodes: [/* 这里是动态生成的菜单数据 */],
    click: function(node){
      // 菜单点击事件
      console.log(node);
    }
  });
  
  // 监听拖拽排序事件
  tree.on('drag(tree)', function(obj){
    console.log(obj); // 得到拖拽后的数据
  });
});
  1. 메뉴 데이터를 동적으로 생성
    다단계 분류 메뉴 기능을 구현하려면 백엔드에서 데이터를 가져와 이를 기반으로 메뉴 콘텐츠를 동적으로 생성해야 합니다. 백엔드 인터페이스는 AJAX를 통해 요청할 수 있으며 콜백 함수에서 메뉴 데이터가 생성됩니다. 구체적인 코드는 다음과 같습니다.
$.ajax({
  url: 'menuData.php',
  type: 'GET',
  dataType: 'json',
  success: function(data){
    // 将数据转为Layui的菜单数据格式
    var menuData = [];
    for (var i = 0; i < data.length; i++) {
      var node = {
        title: data[i].name,
        id: data[i].id,
        children: []
      };
      menuData.push(node);
    }
    
    // 更新菜单
    tree.reload('dragMenu', {
      data: menuData
    });
  }
});
  1. 메뉴의 드래그 앤 드롭 저장 기능을 구현합니다.
    메뉴 노드를 드래그하여 정렬할 때 새 순서를 백엔드에 저장해야 합니다. 데이터는 AJAX 요청을 통해 백엔드 인터페이스로 전송되고 성공 콜백 함수에 저장될 수 있습니다. 구체적인 코드는 다음과 같습니다.
tree.on('drag(tree)', function(obj){
  var newData = []; // 保存拖拽后的新数据
  
  // 循环遍历所有拖拽后的节点
  for (var i = 0; i < obj.changed.length; i++) {
    var node = obj.changed[i];
    newData.push({
      id: node.id,
      sort: i + 1 // 拖拽后的顺序
    });
  }
  
  // 发送数据到后端进行保存
  $.ajax({
    url: 'saveMenuData.php',
    type: 'POST',
    dataType: 'json',
    data: JSON.stringify(newData),
    success: function(result){
      // 处理保存结果
      if (result.code === 0) {
        console.log('保存成功');
      } else {
        console.log('保存失败:' + result.msg);
      }
    }
  });
});

3. 요약
이 글에서는 레이유이를 이용하여 드래그 가능한 다단계 분류 메뉴 기능을 구현하는 단계를 소개하고, 구체적인 코드 예시를 제시합니다. Layui 드래그 앤 드롭 컴포넌트를 사용하면 드래그 가능한 다단계 카테고리 메뉴를 쉽게 구현하고 메뉴의 정렬 및 저장 기능을 구현할 수 있습니다. 이 글이 Layui를 배우고 사용하는 독자들에게 도움이 되기를 바랍니다.

위 내용은 Layui를 사용하여 드래그 앤 드롭 다단계 분류 메뉴 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.