jQuery:让文盲秀网页

开发 前端
一般命名插件的CSS和脚本命名都很规范,所以难得出现冲突。只要CSS和Js不冲突,就可以 放心用,随便用,乱着用。

一.需求如下

1:注册不新开页面,改成弹出层,

2:新增用户买房欲望调查,

3:用户名自动检索出推荐的用户名,

4:出生日期用户输入改成控件选择。

5:尽力提高用户体验,吸引用户注册。

二.无图无真相

1:简化后的页面:

2:浮出文字提示和圆角边框:

3:支持民意调查(异步提交)

4:自动检索推荐用户名(测试数据)

5:数据有效性验证

6:日历

7:支持拖拽

8:滑入显示

9:over

#p#

三.代码分析

1.弹出层的制作,

a.先引用这三个:

  1. <script src="jquery-1.4.2.min.js" type="text/javascript" language="javascript"></script>  
  2.  
  3. <script src="jquery-impromptu.3.1.min.js" type="text/javascript" language="javascript"></script>  
  4.  
  5. <link rel="stylesheet" media="all" type="text/css" href="examples.css" />  

b.调用这个方法$.prompt,实现弹出。

2.浮出文字

a.先引用这两个:

  1. <link rel="stylesheet" media="all" type="text/css" href="jquery.tooltip.css" />  
  2. <script src="jquery.tooltip.min.js" type="text/javascript" language="javascript"></script>  

b.调用下面代码实现浮出:

  1. $("#suggest2").tooltip({bodyHandler: function() {return "用户名必须以字母开头";},showURL: false});  
  2. $("#cemail").tooltip({bodyHandler: function() {return "建议使用新浪游戏";},showURL: false});  
  3. $("#Text1").tooltip({bodyHandler: function() {return "未成年人请不要注册";},showURL: false});  

3.投票

a.先引用下面两个:

  1. <script type="text/javascript" src="jquery.rater.js"></script>  
  2. <link rel="stylesheet" type="text/css" href="rater.css" media="screen" /> 

b.调用$('#demo2').rater('Handler1.ashx')实现投票

4.自动检索推荐用户名(自动完成)

a.先引用下面两个

  1. <script src="jquery.autocomplete.min.js" type="text/javascript" language="javascript"></script>  
  2. <link rel="stylesheet" media="all" type="text/css" href="jquery.autocomplete.css" />  
  3. <script src="localdata.js" type="text/javascript" language="javascript"></script>  

b.调用  $("#suggest2").focus().autocomplete(cities);实现自动检索,(用的是localdata.js里面的本地测试数据)

5.数据校验

a.先引用这 

  1. <script src="jquery.validate.js" type="text/javascript" language="javascript"></script>  

再写如下CSS:

  1. <style type="text/css" 
  2. #commentForm { width: 500px; }  
  3. #commentForm label { width: 500px; }  
  4. #commentForm label.error, #commentForm input.submit { margin-left: 0px;color: red;   }  
  5. </style>  
  6.  

(commentForm 为form的ID)

b.调用这个$("#commentForm").validate()实现验证;form里面的class和一些属性配置好,一切验证全自动。

如:邮箱<input  id="cemail" name="email" class="required email" />

6.日历

说到这个惭愧啊!开始用的JQuery的日历插件,后来由于其不能置于弹框的上面,所以改用另外一个。

a.先引用这两个

  1. <script src="calendar2008.js" type="text/javascript" language="javascript"></script>  
  2. <link rel="stylesheet" media="all" type="text/css" href="rightbar.css" />  

b.再写如下代码

  1. var c = new Calendar("c");  
  2. document.write(c);  
  3. //下面两个用为微调定位  
  4. c.offsetTop =22;  
  5. c.offsetLeft = 25; 

html代码:

可以看得出,他class="required dateISO" 自动验证时间格式

  1. <input class="required dateISO"  name="begintime" type="text" id="Text1" size="21"  onfocus="c.showMoreDay = false;c.show(this);"  value=""/> 

7.拖拽

a.先引用这个: 

  1. <script src="jquery-ui.min.js" type="text/javascript" language="javascript"></script> 

b.再写这个$("xxx").draggable();实现拖拽

8.滑入显示:

插件提供了扩展:

  1. Code highlighting produced by Actipro CodeHighlighter (freeware)  
  2. http://www.CodeHighlighter.com/  
  3.  
  4. --> $(document).ready(function() {  
  5.      $.fn.extend({  
  6.     dropIn: function(speed, callback){  
  7.         var $t = $(this);  
  8.  
  9.         if($t.css("display") == "none"){  
  10.             eltop = $t.css('top');  
  11.             elouterHeight = $t.outerHeight(true);  
  12.  
  13.             $t.css({ top: -elouterHeight, display: 'block' })  
  14.                 .animate({ top: eltop },speed,'swing', callback);  
  15.         }  
  16.     }  
  17. });  
  18. }); 

调用$.prompt("mes",{show:'dropIn'}即可实现滑入。

9.圆角边框。

a.先引用这个 

  1. <script src="jquery.corner.js" type="text/javascript" language="javascript"></script>  

b.调用$.("xxx").corner("cc:#d1c7b7");

c.注意事项:四个角所缺的地方的颜色也是可设置的,一般都和背景色一致。

#p#

四.总结

一般命名插件的CSS和脚本命名都很规范,所以难得出现冲突。只要CSS和Js不冲突,就可以   放心用,随便用,乱着用。

五.问题(已解决)

本来想清一色的JQuery插件的,结果JQuery日历插件浮不到弹出层的上面,所以换了另外一个日历控件。气得我把z-index设成10000000000000000,结果可想而知----依然浮不上。找不到哪里CSS冲突了,哪个发现了告诉我一下。

  1. Code highlighting produced by Actipro CodeHighlighter (freeware)  
  2. http://www.CodeHighlighter.com/  
  3. -->table.jCalendar {  
  4.     border: 1px solid #000;  
  5.     background: #aaa;  
  6.     border-collapse: separate;  
  7.     border-spacing: 2px;  
  8.     z-index: 100000000000000000000000000000000;  
  9.     position:absolute;  

解决办法:

方法一:在你的页面开始出定义下面的样式

.ui-datepicker {z-index:1200;} 

当调用dialog时用下面的代码

jQuery("#midialog").dialog({zIndex:900}); 

方法二:

  1. .datepicker({   
  2. beforeShow: function (i, e) {   
  3. var z = jQuery(i).closest(".ui-dialog").css("z-index") + 4;   
  4. e.dpDiv.css('z-index', z);   
  5. }   
  6. })   

六.下载

原文链接:http://www.cnblogs.com/iamzhanglei/archive/2010/06/15/1758645.html

【编辑推荐】

  1. jQuery插件之Ajax自动完成
  2. jQuery基本事件代码优化
  3. 印象深刻的jQuery手风琴效果应用
  4. jQuery可多次使用的星级插件
  5. JQuery插件的开发真的有那么难吗
 
责任编辑:张伟 来源: 当耐特砖家的博客
相关推荐

2023-12-08 11:22:31

IT首席转型官转型

2023-01-04 13:36:11

谷歌

2020-06-11 16:54:57

黑客勒索软件网络攻击

2011-02-22 17:40:54

konqueror

2019-07-10 10:20:36

前端用户体验javascript

2018-06-12 10:30:01

2012-04-10 09:47:09

jQuery

2017-11-13 14:11:11

iPhone X浏览导航

2022-04-19 07:45:40

代码Python美图秀秀

2011-06-03 14:10:31

SEO网页摘要

2012-02-03 09:38:13

编程

2012-04-25 10:18:49

jQuery

2011-08-31 10:14:36

windows7Hosts

2016-10-20 08:57:17

网页ChromeIE

2017-10-13 22:05:09

山河

2015-03-17 09:34:57

PHP响应式网页设计网页设计建议

2015-11-12 09:49:29

可视化

2020-11-16 08:07:51

浏览器渲染网页

2021-02-06 13:05:14

前端JS放烟花

2021-01-15 15:51:33

JavaScript开发技术
点赞
收藏

51CTO技术栈公众号