【一】需求如下:
1:注册不新开页面,改成弹出层,
2:新增用户买房欲望调查,
3:用户名自动检索出推荐的用户名,
4:出生日期用户输入改成控件选择。
5:尽力提高用户体验,吸引用户注册。
【二】无图无真相。
1:简化后的页面:
2:浮出文字提示和圆角边框:
3:支持民意调查(异步提交)
4:自动检索推荐用户名(测试数据)
5:数据有效性验证
6:日历
7:支持拖拽
8:滑入显示
9:over
【三】代码分析
1.弹出层的制作,
a.先引用这三个:
复制代码 代码如下:
<script src="/UploadFiles/2021-04-02/jquery-1.4.2.min.js"><script src="jquery-impromptu.3.1.min.js"><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="/UploadFiles/2021-04-02/jquery.tooltip.min.js">
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="/UploadFiles/2021-04-02/jquery.rater.js"><link rel="stylesheet" type="text/css" href="rater.css" media="screen" />
b.调用$('#demo2').rater('Handler1.ashx')实现投票
4.自动检索推荐用户名(自动完成)
a.先引用下面两个
复制代码 代码如下:
<script src="/UploadFiles/2021-04-02/jquery.autocomplete.min.js"><link rel="stylesheet" media="all" type="text/css" href="jquery.autocomplete.css" />
<script src="/UploadFiles/2021-04-02/localdata.js">
b.调用 $("#suggest2").focus().autocomplete(cities);实现自动检索,(用的是localdata.js里面的本地测试数据)
5.数据校验
a.先引用这 <script src="jquery.validate.js">再写如下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="/UploadFiles/2021-04-02/calendar2008.js"><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="/UploadFiles/2021-04-02/jquery-ui.min.js">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="/UploadFiles/2021-04-02/jquery.corner.js">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)
jquery,弹出层,注册
更新动态
- 群星《唱给女人的歌》24K德国HD金碟[WAV+CUE]
- 孙燕姿.2011-是时候【美妙音乐】【WAV+CUE】
- 苏芮.2003-回首·时代全经典2CD【华纳】【WAV+CUE】
- 梁咏琪.1996-爱自己【EEI】【WAV+CUE】
- IGN经典逆天骚操作名著——《墙头草修炼手册》
- 突然爆火的“网红游戏”,真的有那么多人玩吗?
- 何老师客串《浪人崛起》了?盘点与明星撞脸的角色!
- 【原神】关于星鹫赤羽对珐芙琴班配队下珐露珊主C的适配度分析
- 【原神】V5.1攻略 | 迪西雅角色简评
- 【原神】大日御舆顶端怎么上去
- 胥拉齐《感谢有你》DTS-WAV
- 罗海英《金牌歌后》【WAV+CUE】
- 林叶《林叶·夜》【WAV/分轨】
- 群星《国语经典名曲01》音乐磁场系列[WAV+CUE][1G]
- 齐豫《滚石24K》24K金碟珍藏版系列[低速原抓WAV+分轨][1G]