博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
会议管理拖动效果的页面制作1
阅读量:6335 次
发布时间:2019-06-22

本文共 6127 字,大约阅读时间需要 20 分钟。

记得几个月前,曾经做过会议室预定显示、预定的功能,但是当时是一个彻彻底底小白,啥都不会,别人好的效果也做不出来。近日来通过对jquery和javascript的学习,照样画葫芦的模仿了那个效果。

先贴张别人的效果图

我的思路是这样的,当鼠标点击td时,条件判断设为true同时获得该td,然后拖动时,获得鼠标最后停留的td,最后将这两者之间的td(也就是选中的td)背景色变化。

另外想说句,jquery是个好东西,很好很强大,附上总体代码

html代码

View Code
无标题文档
哈哈 7 8 9 10 11 12 13 14 15 16 17
会议室1
会议室2
会议室3
会议室4

处理拖动时效果的js代码

View Code
(function ($) {    $.fn.hytd = function () {        return this.each(function () {            var moveable = false            var items = []; //建立数组items来存储td对象            var items_positon = [];            var obj_moveover = null;            var i_begin = null;            var i_end = null;            var t = $(this); _t = this;            function getitems() {                t.find("td").each(function () {                    var pos = {};                    pos.obj = this;                    pos.left = $(this).offset().left;                    pos.top = $(this).offset().top;                    items_positon.push(pos);                })            }            function _mousedown(e) {                e = e || window.event;                i_end = null;                var mouse_left = e.pageX;                for (var i = 0; i < items_positon.length; i++) {                    if (mouse_left > items_positon[i].left) { i_begin = i; }                }                moveable = true;            }            function _mouseup(e) {                e = e || window.event;                moveable = false;            }            function mousemoveobj(e) {                e = e || window.event;                if (moveable) {                    var mouse_left = e.pageX;                    for (var i = 0; i < items_positon.length; i++) {                        if (mouse_left > items_positon[i].left) {                            //obj_moveover = items_positon[i]; obj_moveover1 = items_positon[i + 1];                            i_end = i;                        }                    }                }                if (i_end != null) {                    for (var i = 0; i < items_positon.length; i++) {                        if ((i < i_end && i > i_begin) || (i > i_end && i < i_begin) || (i == i_begin && i_begin != i_end)) { $(items_positon[i].obj).css('background', 'yellow'); }                        else { $(items_positon[i].obj).css('background', 'green'); }                    }                }            }            var getobj_x = function (obj) {                var ret = 0;                while (obj != null) {                    ret += obj.offsetLeft;                    obj = obj.offsetParent;                }                return ret;            }            function init() {                getitems();                t.find("td").bind('mousedown', _mousedown).bind('mousemove', mousemoveobj);                $(document).bind('mouseup', _mouseup);            }            init();        })    }})(jQuery);

 jquery我用的是1.7.2

写这个一方面说明了这几天javascript和jquery不是白学,同时还能加深印象,最重要的一点是若能有大神看到,顺带指点我这个超级小白一二,那岂不美哉!小白先撤做后台代码去。

转载于:https://www.cnblogs.com/bobogoodgoodstudy/archive/2013/04/17/3026145.html

你可能感兴趣的文章
50.10. 事件调度器(EVENT)
查看>>
工作周记 - 第三周 (2016/06/06 - 2016/06/8) 端午快乐
查看>>
软链接和硬链接的理解
查看>>
[LeetCode] Task Scheduler 任务行程表
查看>>
11.13. reload
查看>>
24.2. Styles
查看>>
第 7 章 SQL
查看>>
OK335xS U-boot 编译问题&无Linux shell 问题
查看>>
评价中的星效果实现
查看>>
第 6 章 Workstation
查看>>
【机器学习笔记之七】PCA 的数学原理和可视化效果
查看>>
如何运行开源的安卓项目?
查看>>
5.12. standard input/output
查看>>
CentOS使用安装光盘建立本地软件源
查看>>
JavaScript 滑移效果
查看>>
[SEO]让你的Asp.Net网站自动生成Sitemap——XmlSitemap
查看>>
【java JVM】JVM中类的加载,加载class文件的原理机制
查看>>
Apache2.4为什么启动报错Cannot load php5apache2_4.dll into server
查看>>
在Winform开发中使用日程控件XtraScheduler(2)--深入理解数据的存储
查看>>
2.2. 运行 Spring boot 项目
查看>>