当前位置: 首页
前端开发
jQuery EasyUI 拖放教程:创建学校课程表

jQuery EasyUI 拖放教程:创建学校课程表

时间:2026-08-31
转载

本教程演示如何使用 jQuery EasyUI 的 draggable 和 droppable 组件创建交互式学校课程表。通过 HTML 结构搭建与 JavaScript 事件回调配置,实现科目从左侧列表拖拽至右侧时间表的完整交互流程。

在 Web 应用中实现拖拽排课功能,可借助 jQuery EasyUI 提供的 draggable 与 droppable 组件快速完成。本文将通过左侧科目列表与右侧时间表的布局,结合拖放事件回调,展示如何构建可交互的课程表界面,并说明元素克隆与状态切换的核心逻辑。

构建左侧科目与右侧时间表布局

课程表界面分为左右两部分:左侧展示可拖拽的学校科目,右侧为按星期与时间段划分的时间表网格。科目使用

元素包裹,时间表的可放置单元格使用 标识。

左侧科目列表结构

English

Science

右侧时间表网格结构

Monday Tuesday Wednesday Thursday Friday
08:00

jQuery EasyUI 课程表拖放界面示例

配置科目拖拽行为

使用 draggable 方法为左侧科目元素启用拖拽功能。设置 revert: true 使拖拽结束后元素自动回到原位,proxy: 'clone' 表示拖拽过程中显示克隆的代理元素,避免影响原始布局。

$('.left .item').draggable({
    revert: true,
    proxy: 'clone'
});

实现时间表单元格放置逻辑

时间表中的 td.drop 单元格通过 droppable 方法接收拖放事件。通过 onDragEnteronDragLeave 添加视觉反馈,onDrop 处理实际的放置逻辑。

$('.right td.drop').droppable({
    onDragEnter: function() {
        $(this).addClass('over');
    },
    onDragLeave: function() {
        $(this).removeClass('over');
    },
    onDrop: function(e, source) {
        $(this).removeClass('over');
        if ($(source).hasClass('assigned')) {
            $(this).append(source);
        } else {
            var c = $(source).clone().addClass('assigned');
            $(this).empty().append(c);
            c.draggable({
                revert: true
            });
        }
    }
});

交互流程与状态管理

当用户从左侧拖动科目并放置到时间表单元格时,onDrop 回调被触发。若源元素尚未分配(无 assigned 类),系统会克隆该元素、添加 assigned 标记并插入目标单元格,同时为新元素重新绑定 draggable 以支持后续调整。若源元素已分配,则直接将其移动至新单元格,实现课程位置的灵活调整。

该方案通过状态类区分原始科目与已排课元素,结合克隆与事件重绑机制,确保拖放操作既保留原始列表完整性,又支持课程表的动态编辑。

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Angular 2 JavaScript 环境配置与首个应用搭建

Angular 2 JavaScript 环境配置与首个应用搭建

本文详细介绍如何使用 JavaScript 配置 Angular 2 运行环境,涵盖项目目录创建、依赖安装、组件与模块编写、启动逻辑及 HTML 入口配置。通过完整代码示例与运行步骤,帮助开发者快速搭建并运行首个 Angular 2 应用,同时提供环境排查与版本升级建议。

时间:2026-08-31 14:29
Angular 2 TypeScript 环境配置与项目搭建指南

Angular 2 TypeScript 环境配置与项目搭建指南

本文详细介绍如何使用 TypeScript 配置 Angular 2 开发环境,包括安装依赖、创建配置文件、编写组件代码、定义宿主页面以及编译运行应用程序的完整步骤。

时间:2026-08-31 14:25
Angular 2 数据显示:插值、ngFor 与 ngIf 实战指南

Angular 2 数据显示:插值、ngFor 与 ngIf 实战指南

本文详解 Angular 2 中将组件数据渲染到视图的三种核心方式:插值表达式、*ngFor 循环与 *ngIf 条件渲染。通过完整的 TypeScript 组件代码与模板示例,演示如何绑定基础属性、遍历数组及对象列表,并根据数据长度动态控制 DOM 显示。适用于需要快速掌握 Angular 模板语法与数据绑定机制的开发者。

时间:2026-08-31 14:17
Angular 2 用户输入事件绑定与模板变量实战

Angular 2 用户输入事件绑定与模板变量实战

本文介绍如何在 Angular 2 中处理用户输入事件,涵盖点击事件绑定、$event 对象获取输入、模板引用变量使用、按键过滤(keyup enter)及 blur 事件。通过完整代码示例,帮助开发者掌握 Angular 事件绑定的核心语法与最佳实践。

时间:2026-08-31 14:14
Angular 2 表单开发教程:数据绑定、验证与提交

Angular 2 表单开发教程:数据绑定、验证与提交

本教程详细讲解如何在 Angular 2 中构建表单,涵盖项目初始化、模型定义、组件与模块配置、模板驱动表单的双向数据绑定、状态验证及表单提交。通过完整代码示例与步骤说明,帮助开发者快速掌握 Angular 表单的核心用法。

时间:2026-08-31 14:11
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜