- 浏览: 405917 次
- 性别:
- 来自: 南京
-
文章分类
最新评论
-
qiuqinjun:
你好,项目的文献能否打包学习下呢
java定时任务管理实现 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
使用jQuery Autocomplete(自动完成)插件 -
CommonAccount:
我的showModalDialog() 传对象参数,在子窗口用 ...
JS中showModalDialog (模态窗口)详细使用 -
wyfn18:
very good
使用jQuery Autocomplete(自动完成)插件 -
jiangqingtian:
xiexie
使用jQuery Autocomplete(自动完成)插件
jQuery实现spliter效果
splitter.js文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery splitter demo</title> <script type="text/javascript" src="jquery-1.4.3.min.js"></script> <script type="text/javascript" src="splitter.js"></script> <style type="text/css" media="all"> html, body{ height:100%;width:100%; margin:0;padding:0;overflow: hidden; } #header{background:#c4dcfb;height:5%;}/* Header */ #splitterContainer {/* Main splitter element */ height:95%;width:100%;margin:0;padding:0; } #leftPane{ float:left;width:15%;height:100%;border-top:solid 1px #9cbdff; background:#c4dcfb; overflow: auto; } #rightPane{ /*Contains toolbar and horizontal splitter*/ float:right;width:85%;height:100%; background:#f4f4f4; } #rightSplitterContainer{/*horizontal splitter*/ width:100%; background:#FFFFFF;border-top:solid 1px #9cbdff; } #rightTopPane{/*Top nested in horizontal splitter */ width:100%;height:50%;overflow:auto;background:#f4f4f4; } #rightBottomPane{/*Bottom nested in horizontal splitter */ background:#f4f4f4;width:100%;overflow:auto; } /* Splitbar styles; these are the default class names and required styles */ .splitbarV { float:left;width:6px;height:100%; line-height:0px;font-size:0px; border-left:solid 1px #9cbdff;border-right:solid 1px #9cbdff; background:#cbe1fb url(img/panev.gif) 0% 50%; } .splitbarH { height:6px;text-align:left;line-height:0px;font-size:0px; border-top:solid 1px #9cbdff;border-bottom:solid 1px #9cbdff; background:#cbe1fb url(img/paneh.gif) 50% 0%; } .splitbuttonV{ margin-top:-41px;margin-left:-4px;top:50%;position:relative; height:83px;width:10px; background:transparent url(img/panevc.gif) 10px 50%; } .splitbuttonV.invert{ margin-left:0px;background:transparent url(img/panevc.gif) 0px 50%; } .splitbuttonH{ margin-left:-41px;left:50%;position:relative; height:10px !important;width:83px; background:transparent url(img/panehc.gif) 50% 0px; } .splitbuttonH.invert{ margin-top:-4px;background:transparent url(img/panehc.gif) 50% -10px; } .splitbarV.working,.splitbarH.working,.splitbuttonV.working,.splitbuttonH.working{ -moz-opacity:.50; filter:alpha(opacity=50); opacity:.50; } </style> <script type="text/javascript"> $(document).ready(function() { $("#splitterContainer").splitter({minAsize:100,maxAsize:300,splitVertical:true,A:$('#leftPane'),B:$('#rightPane'),slave:$("#rightSplitterContainer"),closeableto:0}); $("#rightSplitterContainer").splitter({splitHorizontal:true,A:$('#rightTopPane'),B:$('#rightBottomPane'),closeableto:100}); }); </script> </head> <body> <div id="header"> jQuery splitter v1.1 demo. Download <a href="splitter.zip">here</a></div> <div id="splitterContainer"> <div id="leftPane"> <p>This pane limited to a range of 100 to 300 pixels wide with the minAsize / maxAsize properties of the plugin..</p> <p> </p> </div> <!-- #leftPane --> <div id="rightPane"> <div style="height:5%;background:#bac8dc">Toolbar?</div> <div id="rightSplitterContainer" style="height:95%"> <div id="rightTopPane"> <p>testing</p> <p>testing</p> <p>testing</p> <p>testing</p> </div> <!-- #rightTopPane--> <div id="rightBottomPane"> <div> <p>some content</p> <p>some content</p> <p>some content</p> <p>some content</p> <p>some content</p> <p>some content</p> </div> </div> <!-- #rightBottomPane--></div> <!-- #rightSplitterContainer--></div> <!-- #rightPane --></div> <!-- #splitterContainer --> </body> </html>
splitter.js文件
/* * jQuery.splitter.js - animated splitter plugin * * version 1.0 (2010/01/02) * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ /** * jQuery.splitter() plugin implements a two-pane resizable animated window, using existing DIV elements for layout. * For more details and demo visit: http://krikus.com/js/splitter * * @example $("#splitterContainer").splitter({splitVertical:true,A:$('#leftPane'),B:$('#rightPane'),closeableto:0}); * @desc Create a vertical splitter with toggle button * * @example $("#splitterContainer").splitter({minAsize:100,maxAsize:300,splitVertical:true,A:$('#leftPane'),B:$('#rightPane'),slave:$("#rightSplitterContainer"),closeableto:0}); * @desc Create a vertical splitter with toggle button, with minimum and maximum width for plane A and bind resize event to the slave element * * @name splitter * @type jQuery * @param Object options Options for the splitter ( required) * @cat Plugins/Splitter * @return jQuery * @author Kristaps Kukurs (contact@krikus.com) */ ;(function($){ $.fn.splitter = function(args){ args = args || {}; return this.each(function() { var _ghost; //splitbar ghosted element var splitPos; // current splitting position var _splitPos; // saved splitting position var _initPos; //initial mouse position var _ismovingNow=false; // animaton state flag // Default opts var direction = (args.splitHorizontal? 'h':'v'); var opts = $.extend({ minAsize:0, //minimum width/height in PX of the first (A) div. maxAsize:0, //maximum width/height in PX of the first (A) div. minBsize:0, //minimum width/height in PX of the second (B) div. maxBsize:0, //maximum width/height in PX of the second (B) div. ghostClass: 'working',// class name for _ghosted splitter and hovered button invertClass: 'invert',//class name for invert splitter button animSpeed: 250 //animation speed in ms },{ v:{ // Vertical moving:"left",sizing: "width", eventPos: "pageX",splitbarClass:"splitbarV",buttonClass: "splitbuttonV", cursor: "e-resize" }, h: { // Horizontal moving:"top",sizing: "height", eventPos: "pageY",splitbarClass:"splitbarH",buttonClass: "splitbuttonH", cursor: "n-resize" } }[direction], args); //setup elements var splitter = $(this); var mychilds =splitter.children(); //$(">*", splitter[0]); var A = args.A; // left/top frame var B = args.B;// right/bottom frame var slave=args.slave;//optional, elemt forced to receive resize event //Create splitbar var C=$('<div><span></span></div>'); A.after(C); C.attr({"class": opts.splitbarClass,unselectable:"on"}).css({"cursor":opts.cursor,"user-select": "none", "-webkit-user-select": "none","-khtml-user-select": "none", "-moz-user-select": "none"}) .bind("mousedown", startDrag); if(opts.closeableto!=undefined){ var Bt=$('<div></div>').css("cursor",'pointer'); C.append(Bt); Bt.attr({"class": opts.buttonClass, unselectable: "on"}); Bt.hover(function(){$(this).addClass(opts.ghostClass);},function(){$(this).removeClass(opts.ghostClass);}); Bt.mousedown(function(e){if(e.target != this)return;Bt.toggleClass(opts.invertClass).hide();splitTo((splitPos==opts.closeableto)?_splitPos:opts.closeableto,true);return false;}); } //reset size to default. var perc=(((C.position()[opts.moving]-splitter.offset()[opts.moving])/splitter[opts.sizing]())*100).toFixed(1); splitTo(perc,false,true); // resize event handlers; splitter.bind("resize",function(e, size){if(e.target!=this)return;splitTo(splitPos,false,true);}); $(window).bind("resize",function(){splitTo(splitPos,false,true);}); //C.onmousedown=startDrag function startDrag(e) { if(e.target != this)return; _ghost = _ghost || C.clone(false).insertAfter(A); splitter._initPos=C.position(); splitter._initPos[opts.moving]-=C[opts.sizing](); _ghost.addClass(opts.ghostClass).css('position','absolute').css('z-index','250').css("-webkit-user-select", "none").width(C.width()).height(C.height()).css(opts.moving,splitter._initPos[opts.moving]); mychilds.css("-webkit-user-select", "none"); // Safari selects A/B text on a move A._posSplit = e[opts.eventPos]; $(document).bind("mousemove", performDrag).bind("mouseup", endDrag); } //document.onmousemove=performDrag function performDrag(e) { if (!_ghost||!A) return; var incr = e[opts.eventPos]-A._posSplit; _ghost.css(opts.moving, splitter._initPos[opts.moving]+incr); } //C.onmouseup=endDrag function endDrag(e){ var p=_ghost.position(); _ghost.remove(); _ghost = null; mychilds.css("-webkit-user-select", "text");// let Safari select text again $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag); var perc=(((p[opts.moving]-splitter.offset()[opts.moving])/splitter[opts.sizing]())*100).toFixed(1); splitTo(perc,(splitter._initPos[opts.moving]>p[opts.moving]),false); splitter._initPos=0; } //Perform actual splitting and animate it; function splitTo(perc,reversedorder,fast) { if(_ismovingNow||perc==undefined)return;//generally MSIE problem _ismovingNow=true; if(splitPos&&splitPos>10&&splitPos<90)//do not save accidental events _splitPos=splitPos; splitPos=perc; var barsize=C[opts.sizing]()+(2*parseInt(C.css('border-'+opts.moving+'-width')));//+ border. cehap&dirty var splitsize=splitter[opts.sizing](); if(opts.closeableto!=perc){ var percpx=Math.max(parseInt((splitsize/100)*perc),opts.minAsize); if(opts.maxAsize)percpx=Math.min(percpx,opts.maxAsize); }else{ var percpx=parseInt((splitsize/100)*perc,0); } if(opts.maxBsize){ if((splitsize-percpx)>opts.maxBsize) percpx=splitsize-opts.maxBsize; } if(opts.minBsize){ if((splitsize-percpx)<opts.minBsize) percpx=splitsize-opts.minBsize; } var sizeA=Math.max(0,(percpx-barsize)); var sizeB=Math.max(0,(splitsize-percpx)); splitsize=(splitsize-barsize); //A.attr('title','- '+sizeA); B.attr('title','- '+sizeB); if(fast){ A.show().css(opts.sizing,sizeA+'px'); B.show().css(opts.sizing,sizeB+'px'); Bt.show(); if (!$.browser.msie ){ mychilds.trigger("resize");if(slave)slave.trigger("resize"); } _ismovingNow=false; return true; } if(reversedorder){//reduces flickering if total percentage becomes more than 100 (possible while animating) var anob={}; anob[opts.sizing]=sizeA+'px'; A.show().animate(anob,opts.animSpeed,function(){Bt.fadeIn('fast');if($(this)[opts.sizing]()<2){this.style.display='none';B.stop(true,true);B[opts.sizing](splitsize+'px');}}); var anob2={}; anob2[opts.sizing]=sizeB+'px'; B.show().animate(anob2,opts.animSpeed,function(){Bt.fadeIn('fast');if($(this)[opts.sizing]()<2){this.style.display='none';A.stop(true,true);A[opts.sizing](splitsize+'px')}}); }else{ var anob={}; anob[opts.sizing]=sizeB+'px'; B.show().animate(anob,opts.animSpeed,function(){Bt.fadeIn('fast');if($(this)[opts.sizing]()<2){this.style.display='none';A.stop(true,true);A[opts.sizing](splitsize+'px')}}); var anob={}; anob[opts.sizing]=sizeA+'px'; A.show().animate(anob,opts.animSpeed,function(){Bt.fadeIn('fast');if($(this)[opts.sizing]()<2){this.style.display='none';B.stop(true,true);B[opts.sizing](splitsize+'px');}}); } //trigger resize evt splitter.queue(function(){ setTimeout(function(){ splitter.dequeue(); _ismovingNow=false; mychilds.trigger("resize");if(slave)slave.trigger("resize"); }, opts.animSpeed+5); }); }//end splitTo() });//end each };//end splitter })(jQuery);
- ddd.rar (36.8 KB)
- 下载次数: 275
评论
1 楼
coosummer
2016-05-18
可以使用jquery ui 的resizable实现,非常简单,效果参见:
http://www.jscssshare.com/#/sample/ZmW5wbFc
http://www.jscssshare.com/#/sample/ZmW5wbFc
发表评论
-
Ajax Session Timeout处理
2014-07-01 09:57 9439对于session过期跳转的问题,很简单,就是一个过滤器,然 ... -
Query代码封装成一个jQuery插件
2013-06-03 23:53 0如果你希望将你的jQuery代码封装成一个jQuery插件, ... -
jQuery Autocomplete Plugin Demo
2012-09-06 23:31 1710jQuery Autocomplete Plugin Demo ... -
简洁jQuery滑动门插件
2012-08-17 03:13 1893滑动门,就是传说中的多tab显示 <!DOCTYPE ...
相关推荐
这个"js实现分割条效果纯js代码"的项目,名为`spliter`,就是基于上述逻辑实现的一个例子。你可以下载源代码进行测试和调试,以适应你的具体需求。通过理解并实践这个例子,你将能更好地掌握JavaScript在网页交互中...
vue3 访问通义千问聊天代码例子
基于Python的Flask-vue基于Hadoop的智慧校园数据共享平台实现源码-演示视频 项目关键技术 开发工具:Pycharm 编程语言: python 数据库: MySQL5.7+ 后端技术:Flask 前端技术:HTML 关键技术:HTML、MYSQL、Python 数据库工具:Navicat、SQLyog
【实验1】:读取一次AI0通道数值 【实验2】:一次读取AI0通道多个数值 【实验3】:单次模拟量输出 【实验4】:连续模拟量输出(输出一个正弦曲线)
无人船的Smith-PID跟踪控制方法研究及实现:融合传统与最优PID策略的LOS曲线跟踪资料,基于无人船Smith-PID改进跟踪控制技术及其LOS曲线跟踪方法研究资料,基于无人船的smith-pid跟踪控制资料。 首先,针对pid进行了改进,有传统pid,最优pid和基于smith的pid三种控制方式。 然后还在smithpid基础上设计了LOS的曲线跟踪方法。 (有对应参考文献)。 有意者可直接联系,参考学习资料。 python语言。 ,基于无人船的Smith-PID跟踪控制; PID改进(传统PID、最优PID、基于Smith的PID); Smith-PID曲线跟踪方法; 参考学习资料; Python语言。,基于无人船的Smith-PID优化跟踪控制资料
自研船舶电力推进系统MATLAB仿真报告:从柴油机+同步发电机到异步电机直接转矩控制的全面模拟与实践,《船舶电力推进系统自搭MATLAB仿真报告:从柴油机同步发电机到异步电机直接转矩控制的完整过程与参数配置详解》,自己搭建的船舶电力推进系统(船舶电力推进自动控制)完全自搭MATLAB仿真,可适度,含对应27页正文的中文报告,稀缺资源,仿真包括船舶电站,变流系统和异步电机直接转矩控制,放心用吧。 三个文件逐层递进 柴油机+同步发电机(船舶电站) 柴油机+同步发电机+不控整流全桥逆变 柴油机+同步发电机+变流模块+异步电机直接转矩控制 所有参数都是配好的,最大负载参考变流系统所带负载两倍,再大柴油机和同步发电机参数就不匹配了,有能力可以自己调 ,核心关键词:船舶电力推进系统; MATLAB仿真; 船舶电站; 变流系统; 异步电机直接转矩控制; 柴油机; 同步发电机; 不控整流全桥逆变; 参数配比。,《船舶电力推进系统MATLAB仿真报告》
西门子博图WinCC V15自动化系统项目实战:多服务器客户端下的PID DCS闭环控制及参数调整实战指南,西门子博图WinCC V15自动化系统项目实战:多服务器客户端下的PID DCS闭环控制及参数调整实战指南,西门子博图WinCC V 15大型自动化系统项目,包含多台服务器客户端项目,系统采用安全1516F -3PN DP 外挂多台精智面板,1200PLC ET200SP 变频器 对整个工艺过程PID DCS 闭环过程控制,如何调整温度压力流量液位等参数,实用工程项目案例 ,西门子博图WinCC V 15; 大型自动化系统; 多台服务器客户端; 安全外挂; 精智面板; 1200PLC ET200SP; 变频器; PID DCS; 闭环过程控制; 温度压力流量液位调整; 工程项目案例,西门子博图WinCC V15大型项目:多服务器客户端的PID DCS闭环控制与实用参数调整
内容概要:本文详尽介绍了计算机网络相关资源及其各方面构成要素,首先阐述了硬件层面的各种传输媒介和设备如双绞线、同轴电缆、光纤以及台式电脑、笔记本、大型计算机等设备,还包括网络互联所需的各类组件如网卡、交换机、路由器等。其次探讨了多种操作系统的特性和主要功能,以及各类通讯和支持应用程序的概述,涵盖浏览器、图像和视频编辑等常用软件。再深入讨论了多种常见网络协议如TCP、UDP、HTTP等的功能特性。最后还提到了确保网络安全运行的重要措施和工具如MIB、SNMP以及防火墙、入侵检测系统等。并且简要提到计算机网络在不同的应用环境,从局域网到移动网络。 适合人群:所有对计算机网络技术感兴趣的初学者和希望深入了解各个组成成分的技术人员. 使用场景及目标:为用户提供计算机网络资源全面而系统的认识,帮助他们建立对于该领域的理论和技术的扎实认知基础,提高在实际环境中识别配置及维护计算机网络系统的能力.
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
ABAQUS中隧道结构模型的无限元应用:超声激励源的施加方法、3D无限元吸收边界的添加技巧、模型结果精确性校核流程及教学视频与CAE、INP文件解析,ABAQUS隧道模型中3D无限元吸收边界的应用:超声激励源的施加与模型结果精确性校核的实践教程,ABAQUS无限元吸收边界,abaqus隧道无限元,1.超声激励源施加;2.3D无限元吸收边界添加方法;3.模型结果精确性校核;4.提供教学视频,cae、inp文件。 ,ABAQUS无限元吸收边界;ABAQUS隧道无限元;超声激励源施加;3D无限元吸收边界添加;模型结果精确性校核;CAE和INP文件。,ABAQUS中超声激励下无限元吸收边界设置及模型精度验证教程
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
git自用lllllllllllllllllll
本资源与文章【Django小白项目】为一体,此为已成功项目,供给给Django初学者做参考,有不会的问题可以私信我噢~
使用一维数据表示向量和二维矩阵,支持常用运算。
1、以上文章可用于参考,请勿直接抄袭,学习、当作参考文献可以,主张借鉴学习 2、资源本身不含 对应项目代码,如需完整项目源码,请私信博主获取
基于多目标粒子群优化算法(MOPSO)的微电网多目标经济运行分析与优化策略考虑响应侧响应的协同调度策略,基于多目标粒子群优化算法(MOPSO)的微电网经济调度优化:含风光储荷一体化模型与需求侧响应策略,考虑需求侧响应的微电网多目标经济运行 建立了含风光储荷的微电网模型,以发电侧成本(包括风光储以及电网的购电成本)和负荷侧成本最小为目标,考虑功率平衡以及储能SOC约束,建立了多目标优化模型,通过分时电价引导负荷需求侧响应,得到可削减负荷量,同时求解模型,得到风光储以及电网的运行计划。 这段代码是一个使用多目标粒子群优化算法(MOPSO)解决问题的程序。下面我将对程序进行详细的分析和解释。 首先,程序的目标是通过优化算法来解决一个多目标优化问题。程序中使用的优化算法是多目标粒子群优化算法(MOPSO),该算法通过迭代更新粒子的位置和速度来搜索最优解。 程序的主要功能是对能源系统进行优化调度,包括光伏发电、风力发电、储能和电网供电。程序的目标是最小化能源系统的成本,并满足负荷需求。 程序的主要思路是使用粒子群优化算法来搜索最优解。程序中定义了一个粒子类(Particle),每个粒子代
data.gov.sg geojson部分项目整理
基于MATLAB Simulink的避障功能欠驱动无人船航迹跟踪控制仿真实验研究,基于MATLAB Simulink的欠驱动无人船避障功能路径跟踪控制仿真实验研究,包含避障功能的欠驱动无人船航迹(路径)跟踪控制仿真实验,基于MATLAB Simulink制作 ,避障功能; 欠驱动无人船; 航迹(路径)跟踪控制; MATLAB Simulink 仿真实验; 避障算法。,基于MATLAB Simulink的避障无人船航迹跟踪控制仿真实验