html弹出窗⼝怎么居中显⽰,HTML页⾯弹出居中可拖拽的⾃定
义窗⼝层
使⽤DIV弹出窗⼝来动态显⽰内容的原理:⾸先采⽤CSS和HTML隐藏弹窗中的内容,然后利⽤JavaScript(本教程中是JQuery)来动态显⽰它们。这种效果不仅能够充分利⽤有限的版⾯空间,⽽且能够提⾼⽤户体验;更重要的是,它并不影响SEO效果(因为它实际存在于页⾯中,只是初始为不可见状态)
1、在html页⾯中定义⼀个div,并在div实现我们需要展⽰的内容。
⽹站登录
帐 号:
密 码:
注册新⽤户 | 忘记密码?
⼀图抵千⾔。让我们看看这个DIV弹出窗⼝的效果截图:
2、我所⽤的CSS样式
#login {
width:350px;
height:250px;
border:1px solid #ccc;
position:absolute;
display:block;
z-index:9999;
background:#fff;
}
#login h2 {
height:40px;
line-height:40px;
text-align:center;
font-size:14px;
letter-spacing:1px;
color:#666;
background:url(images/login_header.png) repeat-x;
margin:0;
padding:0;
border-bottom:1px solid #ccc;
cursor:move;
}
#login h2 img {
float:right;
position:relative;
top:14px;
right:8px;
cursor:pointer;
}
#login div.info {
padding:10px 0 5px 0;
text-align:center;
color:maroon;
}
#login div.user, #login div.pass {
font-size:14px;
color:#666;
padding:5px 0;
text-align:center;
}
# {
width:200px;
height:25px;
border:1px solid #ccc;
background:#fff;
font-size:14px;
}
#login .button {
text-align:center;
padding:15px 0;
}
#login input.submit {
width:107px;
height:30px;
background:url(images/login_button.png) no-repeat;
border:none;
cursor:pointer;
}
#login .other {
text-align:right;
padding:15px 10px;
color:#666;
}
这⾥⾯主要注意的是关于div样式的定义,因为需要居中展⽰我们使⽤绝对定位position:absolute;其次因为是弹出层,div必须在最外围,所以通常把z-index设置的⾮常⼤,这⾥我们设置为z-index:9999;还有⼀点是关于div本⾝是隐藏的需要设置为display:none,但这⾥我们需要直接看效果
所以直接让它展现使⽤display:block;
3、我们需要让它居中展⽰,那么⾸先就必须获取浏览器的⾼度和宽度,如果有滚动条的⽔平或者竖向偏移,还需要获取那个长度,通过计算获取div应该浏览器的位置。
$(document).ready(function()
{
d({
center:function(width,height)
{
return $(this).css('left', ($(window).width()-width)/2+$(window).scrollLeft()).
css('top', ($(window).height()-height)/2+$(window).scrollTop()).
css('width',width).
css('height',height);
}
});
});
通过点击按钮让它展现
$('.login').click(function ()
{
$('#login').show().center(350,250);//展现登陆框
});
效果图
4、能对弹出框进⾏拖拽
代码实现
$(document).ready(function()
{
d({
//拖拽功能
html怎么让所有内容居中drag:function(){
var $tar = $(this);
return $(this).mousedown(function(e){
if(e.target.tagName =='H2'){
var diffX = e.clientX - $tar.offset().left;
var diffY = e.clientY - $tar.offset().top;
$(document).mousemove(function(e){
var left = e.clientX - diffX;
var top = e.clientY - diffY;
if (left < 0){="">
left = 0;
}
else if (left <= $(window).scrollleft()){="">=>
left = $(window).scrollLeft();
}
else if (left > $(window).width() +$(window).scrollLeft() - $tar.width()){ left = $(window).width() +$(window).scrollLeft() -$tar.width();
}
if (top < 0){="">
top = 0;
}
else if (top <= $(window).scrolltop()){="">=>
top = $(window).scrollTop();
}
else if (top > $(window).height() +$(window).scrollTop() - $tar.height()){ top = $(window).height() +$(window).scrollTop() - $tar.height();
}
$tar.css('left',left + 'px').css('top',top + 'px');
});
}
$(document).mouseup(function(){
$(this).unbind('mousemove');
$(this).unbind('mouseup')
});
});
}
});
});
这⾥我们只针对div内容中的H2元素可供点击拖拽,如果需要全局div可进⾏修改,拖拽原理:当⿏标在指定元素上的按下时,获取该⿏标点坐标,通过计算,把图⽚也移动到相对应的位置,⼀旦⿏标点击取消,相对应的按下事件也随之取消,页⾯静⽌。
调⽤拖拽⽅法
$('#login').drag();
现在我们可以点击弹出框的标题栏随意对其在浏览器中拖拽了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。