我利用网上特效开发的Jquery插件

代码如下

  1. (function($){
  2.  
  3. $.fn.Dialogx = function(options) {
  4.  
  5. var defaults={
  6. Width:"300",
  7. Height:"300",
  8. Title:"对话框",
  9. Opacity:"0.2",
  10. Url:"",
  11. Content:""
  12. };
  13.  
  14. var opts = $.extend({},defaults,options);
  15. $(this).click(function(){
  16.  
  17. if(!$("#Dialogx").length>0)
  18. {
  19. //var maktemp='<div id="MarkZZ" style="background:#666;width:'+$(document).width()+'; height:'+($(document).height())+'px; position:absolute; top:0px; left:0px; z-index:80;"></div>';
  20. var maktemp='<div id="MarkZZ" style="background:#666;width:'+$(document).width()+'px; height:'+($(document).height())+'px; position:absolute; top:0px; left:0px; z-index:10;"></div>';
  21. //var tempstr ='<div class="showdiv" id="Dialogx"><div class="top"><div class="topleft"></div><div class="topmiddle" id="topmiddle"> <span style="float:left; color:#FFF; font-weight:bold; line-height:26px; font-size:12px;">&nbsp;'+opts.Title+'</span><span style="float:right"><a href="javascript:"><img border="0" src="'+skinurl+'" width="26" height="20" id="diagclose" /></a></span></div><div class="topright"></div></div><div class="clear"></div><div class="middle"><div class="middleleft" id="middleleft"></div><div class="middlemiddle" id="middlemiddle"><div style="padding:5px;background:#fff;" id="middlecontent"><iframe src="'+opts.FrameURL+'" style="height:100%; width:100%;" scrolling="no" frameborder="0"></iframe></div></div><div class="middleright" id="middleright"></div></div><div class="clear"></div><div class="end"><div class="endleft"></div><div class="endmiddle" id="endmiddle"></div><div class="endright"></div></div><div class="clear"></div></div>';
  22. var tempstr ='<div class="Dialogx" id="Dialogx" style="z-index:20;"></div>';
  23. //if(opts.ContentFlag==1)
  24. //{
  25. // tempstr ='<div class="showdiv" id="Dialogx"><div class="top"><div class="topleft"></div><div class="topmiddle" id="topmiddle"> <span style="float:left; color:#FFF; font-weight:bold; line-height:26px; font-size:12px;">&nbsp;'+opts.Title+'</span><span style="float:right"><a href="javascript:"><img border="0" src="'+skinurl+'" width="26" height="20" id="diagclose" /></a></span></div><div class="topright"></div></div><div class="clear"></div><div class="middle"><div class="middleleft" id="middleleft"></div><div class="middlemiddle" id="middlemiddle"><div style="padding:5px;background:#fff;" id="middlecontent">'+opts.Contents+'</div></div><div class="middleright" id="middleright"></div></div><div class="clear"></div><div class="end"><div class="endleft"></div><div class="endmiddle" id="endmiddle"></div><div class="endright"></div></div><div class="clear"></div></div>';
  26. //}
  27. $("body").append(maktemp);
  28. $("body").append(tempstr);
  29. }
  30. else
  31. {
  32. $("#MarkZZ").show();
  33. }
  34.  
  35. var css={}
  36. if(window.navigator.userAgent.indexOf('MSIE')>=1)
  37. {
  38. css.filter= 'progid:DXImageTransform.Microsoft.Alpha(opacity='+opts.Opacity*100+')';
  39. }
  40. else
  41. {
  42. css.opacity= opts.Opacity;
  43. }
  44. $("#MarkZZ").css(css);
  45. var w,h,de;
  46. de = document.documentElement;
  47. w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
  48. h = self.innerHeight || (de&&de.clientHeight)|| document.body.clientHeight;
  49. var diagtop = h/2-(opts.Height/2)+eval($(document).scrollTop());
  50. var diagleft = w/2-(opts.Width/2)+eval($(document).scrollLeft());
  51. $("#Dialogx").css({"top" : diagtop,"left":diagleft,"width":opts.Width+"px","height":opts.Height+"px"});
  52.  
  53. $("#Dialogx").append("<div class='top'></div>");
  54. $("#Dialogx .top").append("<div class='title'>"+ opts.Title+"</div>");
  55. $("#Dialogx .top .title")
  56. .css("margin-left","10px")
  57. .css("width",($("#Dialogx .top").width()-50)+"px");
  58. ;
  59. $("#Dialogx .top").append("<div class='button' style='width:35px;cursor: hand; '><span class='close'>X</span> </div>");
  60.  
  61. $("#Dialogx").append("<div class='content'></div>");
  62. $("#Dialogx .content").css("height",($("#Dialogx").height()-40)+"px").css("width",($("#Dialogx").width()-10)+"px");
  63. if( opts.Content)
  64. {
  65. $("#Dialogx .content").html(opts.Content);
  66. }
  67. else if(opts.Url)
  68. {
  69. $("#Dialogx .content").html("<iframe src='' style='height:100%; width:100%;' scrolling='no' frameborder='0'></iframe>");
  70. $("#Dialogx .content>iframe").attr("src", opts.Url);
  71. }
  72.  
  73. $(window).scroll(function(){
  74. var diagtop = h/2-(opts.Height/2)+eval($(document).scrollTop());
  75. var diagleft = w/2-(opts.Width/2)+eval($(document).scrollLeft());
  76. $("#Dialogx").css({"top" : diagtop,"left":diagleft });
  77. });
  78. $("#Dialogx .top .button .close").mousemove(
  79. //function(){
  80. // $(this).attr("src",skinurl2);
  81. //}
  82. ).mouseout(
  83. //function(){
  84. // $(this).attr("src",skinurl);
  85. //}
  86. ).click(function(){
  87. $("#Dialogx").remove();
  88. $("#MarkZZ").remove();
  89. })
  90.  
  91. var _move =false;
  92. var _x =$("#Dialogx").pageX-parseInt($("#Dialogx").css("left").replace("px",""));
  93. var _y= $("#Dialogx").pageY-parseInt($("#Dialogx").css("top").replace("px",""));
  94. $("#Dialogx").click(function()
  95. {
  96. //alert("click");//点击(松开后触发)
  97. }).mousedown(function(e){
  98. _move=true;
  99. _x=e.pageX-parseInt($(this).css("left").replace("px",""));
  100. _y=e.pageY-parseInt($(this).css("top").replace("px",""));
  101. $(this).fadeTo(20, 0.5);//点击后开始拖动并透明显示
  102. });
  103. $(document).mousemove(function(e){
  104. if(_move){
  105. var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置
  106. var y=e.pageY-_y;
  107. $("#Dialogx").css({top:y,left:x});//控件新位置
  108. }
  109. }).mouseup(function(){
  110. _move=false;
  111. $("#Dialogx").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明
  112. });
  113. })
  114. };
  115.  
  116. })(jQuery);

我利用网上特效开发的Jquery插件的更多相关文章

  1. 我利用网上代码开发的JQuery图片插件

    我利用网上代码开发的JQuery图片插件 代码如下 (function($){ $.fn.FocusPic = function(options){ var defaults = { interval ...

  2. 开发一个jQuery插件——多级联动菜单

    引言 开发中,有好多地方用到联动菜单,以前每次遇到联动菜单的时候都去重新写,代码重用率很低,前几天又遇到联动菜单的问题,总结了下,发现可以开发一个联动菜单的功能,以后想用的时候就方便多了.项目中每个页 ...

  3. 自己开发开源jquery插件--给jquery.treeview加上checkbox

    很多时候需要把树状的数据显示除来,比如分类,中国省份.城市信息,等,因此这方面的javascript插件也有很多.比如性能优异的jquery.treeview和国人开发的功能强大的zTree. 我最近 ...

  4. 网站开发常用jQuery插件总结(11)折叠插件Akordeon

    实现折叠菜单,可以完全不使用插件.如果使用jquery的话,实现起来也比较简单,我们只需要定义折叠菜单的样式,然后使用jquery中的渐隐渐现就可以了.如果我们自己写折叠菜单,可以方便的使用我们自己的 ...

  5. 网站开发常用jQuery插件总结(12)固定元素插件scrolltofixed

    这个插件在前段时间用过一次,当时是改一个网站.要求顶部的菜单栏随着滚动条的滚动而固定.也大体写了一下,不过在文章中也只是提了一下,文章地址:jQuery插件固定元素位置. 在这篇文章中,再进行总结一下 ...

  6. 网站开发常用jQuery插件总结(五)滚动条插件nanoscroller

    网站在展示信息时,如果信息量过大,解决方法主要有三种.1.分页,将信息分页显示.2.整页显示,但是页面过长,影响浏览体验.3.使用滚动条,而默认滚动条样式太单一,用户体验不友好.所以我们需要美化滚动条 ...

  7. 助你简化开发的 jQuery 插件

    Vanity Toolset vanity toolset是一套方便的UI工具集,可以帮助你快速的搭建幻灯,聚光灯,占位,收放相关的UI,它完成了大部分的UI功能,你只需要花费很少时间就可以构建一个完 ...

  8. 网站开发常用jQuery插件总结(三)拖拽插件gridster

    1.gridster插件功能 实现类似于win8 磁贴拖拽的功能 2.gridster官方地址 http://gridster.net/ 在官方的网站上也有插件的帮助和实例,但是按照官方的说明,我在本 ...

  9. 如何开发一个Jquery插件

    Jquery有两种开发插件的方法: 1.jquery.fn.extend(object); 2.jquery.extend(object); 第一种方法是给Jquery对象添加方法,jquery.fn ...

随机推荐

  1. .NET (四)委托第四讲:内置委托Comparison

    // 摘要: // 表示比较同一类型的两个对象的方法. // // 参数: // x: // 要比较的第一个对象. // // y: // 要比较的第二个对象. // // 类型参数: // T: / ...

  2. 常量函数、常量引用参数、常量引用返回值[C++]

    1. 关于常量引用正像在C语言中使用指针一样,C++中通常使用引用 有一个函数... foo()并且这个函数返回一个引用...... & foo()...., 一个指向位图(Bitmap)的引 ...

  3. XidianOJ 1087 浪漫的V8

    题目描述 V8为了讨女朋友开心,给lx承包大活后面那个水塘.为了筹集资金,V8偷偷地溜进了一座古墓,发现在他面前有金光闪闪的若干小箱子,里面全都是金粉,作为横行于各种@#¥&场所的V8来说,辨 ...

  4. 日志处理之logging模块

    日志级别: 'CRITICAL': CRITICAL, 'ERROR': ERROR, 'WARN': WARNING, 'WARNING': WARNING, 'INFO': INFO, 'DEBU ...

  5. 【原】无规矩,不方圆——说一说正则里的exec()和test()

    今天一大早遇就遇到一件诡异的事儿,可能是思绪还没有澄静下来,一下子没反应过来.事情是这样的: 模板: <input class="name" type="text& ...

  6. 316. Remove Duplicate Letters

    Given a string which contains only lowercase letters, remove duplicate letters so that every letter ...

  7. 今天使用bootstrap中的tagsinput控件,碰到个小问题

    我直接使用时,后台一直报Uncaught Can't add objects when itemValue option is not set错误, 代码如下: <div> <inp ...

  8. VC++ 迭代器 iterator, const_iterator, const iterator

    迭代器 iterator, const_iterator, const iterator 迭代器iterator的作用类似于指针. (1)iterator只有针对制定<类型>的容器才有效. ...

  9. sql一个表中两个字段合并求和

    sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE

  10. 获取应用图标,Drawable 转bitmap

    获取应用图标: PackageManager p = context.getPackageManager(); Drawable draw=null; ApplicationInfo info; tr ...