DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jquery彈出框的用法示例(一)
jquery彈出框的用法示例(一)
編輯:JQuery特效代碼     
最近做一個項目,許多功能都是關於彈出框的,以前覺得彈出框就那一種,很容易實現,但是最近真的做起這個功能了,發現會有好多自己考慮不到的問題。
比如關於一些添加,刪除,修改的彈出框,當添加一些用戶的時候,彈出框裡要提交一些關於用戶的信息,設置密碼等信息,當修改的時候,根據用戶的名字和id號來修改密碼等等。

例子如下:
. 代碼如下:
<ul class="tabPanel clearfix">
<li class="hover">
<a href="" class="close"></a>
<div class="panelBox">
<dl>
<dt id="dt1" contentid=".pwdTips">藍楓前端</dt>
<dd>添加詢盤【<a href="">10</a>】</dd>
<dd>跟蹤詢盤【<a href="">1000</a>】</dd>
</dl>
</div>
</li>
<li>
<a href="" class="close"></a>
<div class="panelBox">
<dl>
<dt id="dt2" contentid=".pwdTips">藍楓前端</dt>
<dd>添加詢盤【<a href="">10</a>】</dd>
<dd>跟蹤詢盤【<a href="">1000</a>】</dd>
</dl>
</div>
</li>
<li>
<a href="" class="close"></a>
<div class="panelBox">
<dl>
<dt id="dt3" contentid=".pwdTips">藍楓前端</dt>
<dd>添加詢盤【<a href="">10</a>】</dd>
<dd>跟蹤詢盤【<a href="">1000</a>】</dd>
</dl>
</div>
</li>
<li>
<a href="" class="close"></a>
<div class="panelBox">
<dl>
<dt contentid=".pwdTips">藍楓前端</dt>
<dd>添加詢盤【<a href="">10</a>】</dd>
<dd>跟蹤詢盤【<a href="">1000</a>】</dd>
</dl>
</div>
</li>
<li>
<a href="" class="close"></a>
<div class="panelBox">
<dl>
<dt id="" contentid=".pwdTips">藍楓前端</dt>
<dd>添加詢盤【<a href="">10</a>】</dd>
<dd>跟蹤詢盤【<a href="">1000</a>】</dd>
</dl>
</div>
</li>
<li>
<div class="panelBox addpanelBox">
<a class="addPanelBtn" contentid="div#pwdRest">添加</a>
</div>
</li>
</ul>

彈出框內容:
. 代碼如下:
<div class="pwdTips" style="display:none;" id="pwdRest">
<a class="closeBtn" href="javascript:;"></a>
<div class="traDBox">
<div class="row" id="userName">
<div class="label" >用 戶 名:</div>
<div class="cell"><input type="text" class="text" id="name" name="" value=""></div>
</div>
<div class="row">
<div class="label" >營銷客服:</div>
<div class="cell"><input type="text" class="text" id="opename" name="" value=""></div>
<input type="hidden" name="" id="onLineId"/>
</div>
<div class="row">
<div class="label">登錄密碼:</div>
<div class="cell"><input type="text" class="text" id="" name="" value=""></div>
</div>
<div class="row">
<div class="label">確認密碼:</div>
<div class="cell"><input type="text" class="text" id="" name="" value=""></div>
</div>
<div class="row">
<div class="dialogBtn">
<button type="submit" class="diaSmtBtn">確認</button>
<button type="button" class="diaSmtRst">取消</button>
</div>
</div>
</div>
</div>

實現的彈出框的js
. 代碼如下:
$(function(){
var $window = $(window),
$doc = $(document),
$body = $('body');
//關於管理員添加刪除的js代碼
var tabLi=$(".tabPanel").find("li");
tabLi.hover(function(){
$(this).addClass("hover").siblings().removeClass("hover");
},function(){})
/*彈出框定位*/
$(window).scroll(function() {
var pwdTips =$(".pwdTips");
var height=pwdTips.height();
var width=pwdTips.width();
var bodyHieght=$(window).height() ;
var bodyWidth=$(window).width() ;

if(!pwdTips.is(":hidden")){
pwdTips.css({
position: "fixed",
top: (bodyHieght-height)/2,
left:(bodyWidth-width)/2
});
}

});
/*彈出框定位結束*/
/*彈出框半透明背景的設置*/
var bgShadow = function(zindex) {
zindex = zindex?zindex:999;
var _bg = $('div.pwdTipsBg'),
bg_html = '<div class="pwdTipsBg"></div>';
if(_bg.length === 0) {
_bg = $(bg_html);
}
$body.append(_bg);
_bg.css({
position : 'absolute',
top : '0px',
left : '0px',
width : $window.scrollLeft()+$window.width()+'px',
height : $doc.height(),
'z-index' : zindex
});
return _bg;
};

/*彈出框半透明背景的設置*/
/*綁定事件*/

var bindClick = function(obj,handlerEvent){
obj.bind("click",function(e){
e.preventDefault();
bgShadow(1001);
var select=$(this).attr('contentid');
var onLineId=$(this).attr('id');
var pwdTips=$(select);
if(handlerEvent!=null)
{
handlerEvent($(this));

}
pwdTips.show();
pwdTips.find(".closeBtn,.diaSmtRst").click(function(){
pwdTips.hide();
var _bg = $('div.pwdTipsBg');
_bg.remove();
});
pwdTips.find('#onLineId').val(onLineId);



});

};
var show=tabLi.find("dt"),
addPanelBtn=$(".addPanelBtn"),
clickBtn=$(".clickBtn");
var setValue= function(obj){

if($(obj).is('.addPanelBtn'))
{
$('#opename').attr('value',"");

$('#pwdRest').find('#userName').show();

}
else
{

$('#pwdRest').find('#userName').hide();
$('#opename').attr('value',obj.text());
$("input.shareId").attr('value',obj.attr('id'))
}

}
$(function(){
bindClick(show,setValue);
bindClick(addPanelBtn,setValue);
bindClick(clickBtn,setValue);
});
})

所有的彈出內容根據情況做判斷顯示,獲取相應的值,先根據觸發的類型判斷是修改密碼或者添加用戶客服,然後再顯示相應的彈出內容
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved