FloatHelper

  1 function FloatHelper() {
  2 }
  3 
  4 FloatHelper.prototype.showFloater = function (Target, Title, Action, ActionCallback, Callback, IsNeedTemplete) {
  5     this.hideFloater();
  6     var FloaterID = "Float_" + Title;
  7     var Floater = $("#" + FloaterID);
  8     if (Floater.length == 0) {
  9         var newFloater = $("<div>");
 10         newFloater.addClass("Absolute FloatDiv");
 11         newFloater.attr("id", FloaterID);
 12         Floater = newFloater;
 13 
 14         if (IsNeedTemplete == undefined || IsNeedTemplete == null || IsNeedTemplete) {
 15             var newDiv = $("<div>");
 16             newDiv.addClass("Template_HoverHead");
 17             var newSpan = $("<span>");
 18             newSpan.addClass("title");
 19             newSpan.html(Title);
 20             newDiv.append(newSpan);
 21 
 22             var newActionDiv = $("<div>");
 23             newActionDiv.addClass("HoverHead_Buttons Right");
 24             var newInput = $("<input>");
 25             newInput.attr({
 26                 "type": "button",
 27                 "value": Action
 28             });
 29 
 30             if (ActionCallback != undefined && ActionCallback != null) {
 31                 newActionDiv.on("click", ActionCallback);
 32                 newFloater.css("cursor", "pointer").click(ActionCallback);
 33                 $("[data-name=" + Title + "]").css("cursor", "pointer").click(function (event) {
 34                     event.preventDefault ? event.preventDefault() : event.returnvalue = false;
 35                     ActionCallback();
 36                 });
 37             }
 38 
 39             newInput.addClass("Action");
 40             newActionDiv.append(newInput);
 41             newDiv.append(newActionDiv);
 42             newFloater.append(newDiv);
 43         }
 44         $(doc.body).append(newFloater);
 45     } else {
 46         Floater.show();
 47     }
 48 
 49     var top, left, TargetTop, width;
 50 
 51     if (Target != null) {
 52         width = Target.width();
 53         TargetTop = Target.offset().top;
 54         top = Math.ceil(TargetTop - Floater.height());
 55         left = Target.offset().left;
 56         Floater.css({
 57             "top": top + "px",
 58             "left": left + "px",
 59             "width": width + "px"
 60         });
 61         this.showOutLine(Title);
 62         if (Callback != undefined && Callback != null) {
 63             Callback();
 64         }
 65     }
 66 };
 67 
 68 FloatHelper.prototype.hideFloater = function (Callback) {
 69     var FloatDiv = $(".FloatDiv");
 70     if (FloatDiv.is(":visible")) {
 71         FloatDiv.remove();
 72         this.hideOutline();
 73         if (Callback != undefined && Callback != null) {
 74             Callback();
 75         }
 76     }
 77 };
 78 
 79 FloatHelper.prototype.resize = function (Callback) {
 80     var FloatDiv = $(".FloatDiv:visible");
 81     if (FloatDiv.length > 0) {
 82         var name = FloatDiv.attr("id").replace("Float_", "");
 83         var Target = $("[data-name = " + name + "]");
 84         var width, top, left;
 85         if (FloatDiv.is(":visible")) {
 86             top = Target.offset().top;
 87             left = Target.offset().left;
 88             width = Target.width();
 89             if (width < 180) {
 90                 width = 180;
 91             }
 92             FloatDiv.css({
 93                 "width": width,
 94                 "top": top,
 95                 "left": left
 96             });
 97             if (Callback != undefined && Callback != null) {
 98                 Callback();
 99             }
100         }
101     }
102 };
103 
104 FloatHelper.prototype.showOutLine = function (name) {
105     var target = $(".FloatDiv:visible");
106     var Floater;
107     if (target.length > 0) {
108         name = name || target.attr("id").replace("Float_", "");
109         var editableDiv = $("[data-name =" + name + " ]");
110         try {
111             this.hideOutline();
112         } catch (e) {
113 
114         }
115         editableDiv.css("outline", "solid 6px #fdc666");
116         Floater = $("#Float_" + name);
117         var w = editableDiv.width() + 12 + Math.round(editableDiv.css("padding-left").match(/^[0-9]*/g)[0]) + Math.round(editableDiv.css("padding-right").match(/^[0-9]*/g)[0]);
118         if (w <= 180) {
119             w = 180;
120             editableDiv.css("width", w - 12);
121             editableDiv.find("ul").addClass("Right Less180");
122         } else {
123             editableDiv.find("ul.Right.Less180").removeClass("Right");
124         }
125         Floater.css({
126             "width": w,
127             "left": editableDiv.offset().left - 6,
128             "top": Math.ceil(editableDiv.offset().top - Floater.height())
129         });
130         if (name == "Background") {
131             Floater.css("top", editableDiv.offset().top);
132         }
133     }
134 };
135 
136 FloatHelper.prototype.hideOutline = function () {
137     _.each($("[data-editable = True]"), function (item) {
138         if (item) {
139             $(item).css("outline", "none");
140         }
141     });
142 };

可视化建站这个项目中的Js,除了DialogHelper,其他的都是自己完成的,感觉自己真厉害啊,虽然写的不是那么完善,可能还会有各种bug,但是很高兴,自己终于完成了,赞自己一次。

下班回家喽!

转载于:https://www.cnblogs.com/jessiecaisme/p/4260468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值