jquery 弹出层注册页面等(asp.net后台)


Posted in Javascript onJune 17, 2010

【一】需求如下:
1:注册不新开页面,改成弹出层,
2:新增用户买房欲望调查,
3:用户名自动检索出推荐的用户名,
4:出生日期用户输入改成控件选择。
5:尽力提高用户体验,吸引用户注册。
【二】无图无真相。

1:简化后的页面:

jquery 弹出层注册页面等(asp.net后台)

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

jquery 弹出层注册页面等(asp.net后台)

jquery 弹出层注册页面等(asp.net后台)

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

jquery 弹出层注册页面等(asp.net后台)

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

jquery 弹出层注册页面等(asp.net后台)

5:数据有效性验证

jquery 弹出层注册页面等(asp.net后台)

6:日历

jquery 弹出层注册页面等(asp.net后台)

jquery 弹出层注册页面等(asp.net后台)

7:支持拖拽

jquery 弹出层注册页面等(asp.net后台)

8:滑入显示

jquery 弹出层注册页面等(asp.net后台)

9:over

jquery 弹出层注册页面等(asp.net后台)

【三】代码分析
1.弹出层的制作,
a.先引用这三个:

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

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

2.浮出文字
a.先引用这两个:

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

b.调用下面代码实现浮出:
代码
$("#suggest2").tooltip({bodyHandler: function() {return "用户名必须以字母开头";},showURL: false}); 
$("#cemail").tooltip({bodyHandler: function() {return "建议使用新浪游戏";},showURL: false}); 
$("#Text1").tooltip({bodyHandler: function() {return "未成年人请不要注册";},showURL: false});

3.投票
a.先引用下面两个:

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

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

4.自动检索推荐用户名(自动完成)
a.先引用下面两个

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

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

5.数据校验
a.先引用这 <script src="jquery.validate.js" type="text/javascript" language="javascript"></script>
再写如下CSS:

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

(commentForm 为form的ID)
b.调用这个$("#commentForm").validate()实现验证;form里面的class和一些属性配置好,一切验证全自动。
如:邮箱<input id="cemail" name="email" class="required email" />

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

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

b.再写如下代码
var c = new Calendar("c"); 
document.write(c); 
//下面两个用为微调定位 
c.offsetTop =22; 
c.offsetLeft = 25;

html代码:

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

可以看得出,他class="required dateISO" 自动验证时间格式
7.拖拽
a.先引用这个: <script src="jquery-ui.min.js" type="text/javascript" language="javascript"></script>
b.再写这个$("xxx").draggable();实现拖拽

8.滑入显示:
插件提供了扩展:

$(document).ready(function() { 
$.fn.extend({ 
dropIn: function(speed, callback){ 
var $t = $(this); 
if($t.css("display") == "none"){ 
eltop = $t.css('top'); 
elouterHeight = $t.outerHeight(true); 
$t.css({ top: -elouterHeight, display: 'block' }) 
.animate({ top: eltop },speed,'swing', callback); 
} 
} 
}); 
});

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

9.圆角边框。
a.先引用这个 <script src="jquery.corner.js" type="text/javascript" language="javascript"></script>
b.调用$.("xxx").corner("cc:#d1c7b7");
c.注意事项:四个角所缺的地方的颜色也是可设置的,一般都和背景色一致。

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

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

table.jCalendar { 
border: 1px solid #000; 
background: #aaa; 
border-collapse: separate; 
border-spacing: 2px; 
z-index: 100000000000000000000000000000000; 
position:absolute; 
}

解决办法:
方法一:
在你的页面开始出定义下面的样式
.ui-datepicker {z-index:1200;}

当调用dialog时用下面的代码
jQuery("#midialog").dialog({zIndex:900});

方法二:

[code]
.datepicker({
beforeShow: function (i, e) {
var z = jQuery(i).closest(".ui-dialog").css("z-index") + 4;
e.dpDiv.css('z-index', z);
}
})
代码打包下载
作者:张磊(zhanglei's Blog)

Javascript 相关文章推荐
Jquery遍历checkbox获取选中项value值的方法
Feb 13 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
javascript学习总结之js使用技巧
Sep 02 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
前端Electron新手入门教程详解
Jun 21 Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
Dec 20 Javascript
JS实现炫酷雪花飘落效果
Aug 19 Javascript
jquery 多行滚动代码(附详细解释)
Jun 17 #Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
Jun 14 #Javascript
jQuery+jqmodal弹出窗口实现代码分明
Jun 14 #Javascript
ExtJS 设置级联菜单的默认值
Jun 13 #Javascript
js 未结束的字符串常量错误解决方法
Jun 13 #Javascript
JSON 和 JavaScript eval使用说明
Jun 13 #Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
Jun 13 #Javascript
You might like
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
flash用php连接数据库的代码
2011/04/21 PHP
php简单统计在线人数的方法
2016/05/10 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
Python实现堆排序的方法详解
2016/05/03 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python实现电脑自动关机
2018/06/20 Python
django如何连接已存在数据的数据库
2018/08/14 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
Python-接口开发入门解析
2019/08/01 Python
Python基于WordCloud制作词云图
2019/11/29 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
外贸公司实习自我鉴定
2013/09/24 职场文书
公务员年总结的自我评价
2013/10/25 职场文书
融资租赁计划书
2014/04/29 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫