jquery.ui.draggble实现拖放控件效果
2018-01-26 14:28
477 查看
这段时间一直在研究这个插件,模仿PageDesigner的效果做了这个demo
html代码:
js代码:
最终实现的大致效果,拖拽右边的控件可以放到左边:
希望大家多多指正
html代码:
<!doctype html> <html lang="us"> <head> <meta charset="utf-8"> <title>jQuery UI Example Page</title> <link href="css/hip/jquery-ui.css" rel="stylesheet"> <link href="css/hip/bootstrap.css" rel="stylesheet"> <link rel="stylesheet" href="css/designer.css"> </head> <body> <div class="content"> <div class="content-left"> <div id="designer" class="demo-container"> </div> </div> <div class="content-right"> <div class="common-title"> <h4>COMMON</h4> </div> <div class="common-info"> <div class="row"> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/1.png" alt=""> <p>Contain</p> </div> <div class="preview"> <div class="contain common"> <div class="item">Container</div> <p contenteditable="true">container</p> </div> </div> </div> </div> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/2.png" alt=""> <p>Heading</p> </div> <div class="preview"> <div class="heading common"> <div class="item">Heading</div> <p contenteditable="true">Lorem Ipsum Dolor Sit Amet</p> </div> </div> </div> </div> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/3.png" alt=""> <p>Text</p> </div> <div class="preview"> <div class="text common"> <div class="item">Text</div> <p contenteditable="true">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> </div> </div> </div> </div> <div class="row"> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/4.png" alt=""> <p>List</p> </div> <div class="preview"> <div class="list common"> <div class="item">List</div> <ul contenteditable="true"> <li>item1</li> <li>item2</li> </ul> </div> </div> </div> </div> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/5.png" alt=""> <p>Link</p> </div> <div class="preview"> <div class="link common"> <div class="item">List</div> <p><a href="#" contenteditable="true">This is a link...</a></p> </div> </div> </div> </div> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/6.png" alt=""> <p>Button</p> </div> <div class="preview"> <div class="extra common"> <div class="item">defined</div> <p contenteditable="true">输入想要放置的内容</p> </div> </div> </div> </div> </div> <div class="row"> <div class="col-xs-4"> <div class="lyrow"> <div class="info-box"> <img src="images/7.png" alt=""> <p>Image</p> </div> <div class="preview"> <div class="extra common"> <div class="item">defined</div> <p contenteditable="true">自定义区域</p> </div> </div> </div> </div> </div> </div> </div> </div> </body> <script src="js/lib/jquery.js"></script> <script src="js/lib/jquery-ui.js"></script> <script src="js/lib/bootstrap.js"></script> <script src="js/designer(1).js"></script> </html>
js代码:
var screenH=$(document).height(); $('.content').height(screenH); $('.lyrow').draggable({ connectToSortable:'#designer', cursor:'move', distance:20, revert:'invalid', helper:'clone', zIndex: 1000, opacity:0.3, start: function( event, ui ) { } }); $('.info-box').disableSelection(); $('#designer').droppable({ accept: '.lyrow', //greedy:true, drop: function (event, ui) { var d=ui.helper.find('.preview'); $(this).append(d).css('display','block'); $('#popUp').css('display','block'); //设置id var divs=$("#designer>div"); var divLe=divs.length; for(var i=0;i<divLe;i++){ divs[i].id='div'+(i+1); }; //鼠标经过显示区域名称 $("#designer>div").hover(function (e) { //alert(12); $(this).find('.common>.item').css('display','block'); },function(){ $(this).find('.common>.item').css('display','none'); }); } });
最终实现的大致效果,拖拽右边的控件可以放到左边:
希望大家多多指正
相关文章推荐
- jQuery实现百度导航li拖放排列效果,即时更新数据库
- iOS开源控件,UI效果实现资源站点
- jQuery使用drag效果实现自由拖拽div
- 基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
- Android UI控件之Gallery实现拖动式图片浏览效果
- 在.NET中实现窗体控件的内容拖拽效果(Drag-and-Drop)
- jQuery实现Div控件拖动效果
- jQuery实现百度导航li拖放排列效果,即时更新数据库
- 在cocos2d-x 3.2下利用UI下面的控件模仿实现GridView部分效果<一>实现构思
- Android UI控件之ImageSwitcher实现图片切换效果
- JQuery实现Tooltip效果表单验证(jQuery Inline Form Validation Engine控件)
- jquery-ui日期时间控件实现
- .net mvc页面UI之Jquery博客日历控件实现代码
- 【jQuery基础编程】jQuery-UI实现折叠面板里的控件拖曳
- ASP.NET Atlas实现网站模块(版块)拖放(Drag & Drop)效果
- 使用ASP.NET Atlas实现拖放(Drag & Drop)效果
- ASP.NET jQuery 实例9 通过控件hyperlink实现返回顶部效果
- jquery.blockUI.js实现上传滚动等待效果
- JQueryUI dialog 和iframe 实现登录对话框效果
- Jquery Easy UI 实现页面的Loading效果(类似于Android的ProgressDialog)