jquery弹出框的用法示例(2)_jquery
程序员文章站
2022-05-07 15:33:13
...
第二种情况是关于弹出框,没有关闭按钮,但是点击其他地方的时候,弹出框消失,这个还涉及到一些关于层次问题,必须用js给弹出框的父元素加上更高的层次,以免被下面的内容覆盖。
js代码:
// JavaScript Document
$(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 = '';
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')) //获取分配到人弹出框的里的id值
}
}
$(function(){
bindClick(show,setValue);
bindClick(addPanelBtn,setValue);
bindClick(clickBtn,setValue);
});
/*详情弹出框开始*/
var listInfo=$(".listName a");
listInfo.click(function(e){
e.preventDefault();
var winDiaBox=$(this).closest("li").find(".winDiaBox");
$(".winDiaBox").hide().closest('li').removeAttr('style');
if(winDiaBox.is(':visible')) {
winDiaBox.hide();
} else {
winDiaBox.show().parent("li").siblings("li").removeAttr('style')
.find(".winDiaBox").hide();
$(this).closest("li").css("z-index",4);
}
return false;
})
$(".winDiaBox").click(function(){return false;})
$(document).click(function(){
$(".winDiaBox").hide();
$(".winDiaBox").parent().removeAttr("style");
})
/*详情弹出框结束*/
})
详情弹出框随着循环显示,这样减少了用js根据每个循环列表的位置而定位弹出框的位置
复制代码 代码如下:
询盘分配
- 询盘详情
- 联系人
- 所在地
- 来源
-
李经理安徽宿州在线客服
分配到人半小时前
日期:2013-7-25 14:54:54
来源:在线客服
客户所在地:上海闵行
联系人:上海闵行
联系方式:上海闵行
QQ:34455566666
询盘详情:想要个3*1300的剪板机,能裁3个的不锈钢板 1300的就行。有现货吗?不含税最低多钱?(烟台)
营销客服:上海闵行
-
李经理安徽宿州在线客服
分配到人半小时前
-
李经理安徽宿州在线客服
分配到人半小时前
-
李经理安徽宿州在线客服
分配到人半小时前
js代码:
复制代码 代码如下:
// JavaScript Document
$(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 = '';
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')) //获取分配到人弹出框的里的id值
}
}
$(function(){
bindClick(show,setValue);
bindClick(addPanelBtn,setValue);
bindClick(clickBtn,setValue);
});
/*详情弹出框开始*/
var listInfo=$(".listName a");
listInfo.click(function(e){
e.preventDefault();
var winDiaBox=$(this).closest("li").find(".winDiaBox");
$(".winDiaBox").hide().closest('li').removeAttr('style');
if(winDiaBox.is(':visible')) {
winDiaBox.hide();
} else {
winDiaBox.show().parent("li").siblings("li").removeAttr('style')
.find(".winDiaBox").hide();
$(this).closest("li").css("z-index",4);
}
return false;
})
$(".winDiaBox").click(function(){return false;})
$(document).click(function(){
$(".winDiaBox").hide();
$(".winDiaBox").parent().removeAttr("style");
})
/*详情弹出框结束*/
})
详情弹出框随着循环显示,这样减少了用js根据每个循环列表的位置而定位弹出框的位置
上一篇: css的渐变是什么?css 透明渐变详解
下一篇: MySQL学习笔记之进入_MySQL
推荐阅读
-
jQuery复合事件结合toggle()方法的用法示例
-
jquery设置text的值示例(设置文本框 DIV 表单值)_jquery
-
jQuery实现左右两个列表框的内容相互移动功能示例
-
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
-
JQuery的加载和选择器用法简单示例
-
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
-
jQuery中delegate与on的用法与区别示例介绍
-
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
-
jQuery中事件对象e的事件冒泡用法示例介绍
-
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】