87,903
社区成员
发帖
与我相关
我的任务
分享
<!-- 弹出层,人物详情 -->
<div class="pop-info">
<div class="span-hide mess">
<div class="photo">
<a href="#"><img src="../img/test.jpg" /></a>
</div>
<div class="info">
<p>
<label><a href="#"></a></label>
</p>
<p class="add">
<label class="add-sex"><img src="" /></label>
<label class="add-add"></label>
</p>
<div class="blog">
<label class="label-color">关注</label><label class="p1 follow"></label>
|
<label class="label-color">粉丝</label><label class="p1 fans"></label>
|
<label class="label-color">微博</label><label class="p1 status"></label>
</div>
</div>
<div class="intro">
<label class="label-color">简介:</label><label class="p1"></label>
</div>
<div class="option">
<a href="" class="pure">标记</a>
<a href="" class="pure">关注</a>
</div>
</div>
<span class="bot-bot span-hide"></span>
<span class="bot-top span-hide"></span>
<span class="top-bot span-hide"></span>
<span class="top-top span-hide"></span>
<p class="span-hide loading">
<img src="../img/022.gif" />
<label>正在加载,请稍后...</label>
</p>
</div>
这是当鼠标移动到头像上,请求后台返回数据,填充html,这时候高度会撑大
$(".covf .fl").hover(function(){
clearTimeout(hoverTimeout);
clearTimeout(hoverTimeout2);
var uid = $(this).attr("uid");
$(".pop-info .mess").hide();
$(".pop-info .loading").show();
$.get("searchUserById.action?uid=" + uid,null,function(data){
if(data != "error"){
$(".pop-info .photo img").attr("src",data.head_photo);
$(".pop-info .info a").html(data.nick);
if(data.sex == 1){
$(".pop-info .add-sex img").attr("src","../img/icon-male.png");
} else if(data.sex == 2){
$(".pop-info .add-sex img").attr("src","../img/icon-female.png");
}
$(".pop-info .add-add").html(data.address);
$(".pop-info .follow").html(data.follow);
$(".pop-info .fans").html(data.fans);
$(".pop-info .status").html(data.status);
$(".pop-info .intro .p1").html(data.intro);
$(".pop-info .loading").hide();
$(".pop-info .mess").show();
}
});
var pos = $(this).offset();
var height = parseInt($(this).height()); //当前div高度
var left = parseInt(pos.left); //当前div左位移
var top = parseInt(pos.top); //当前div顶部位移
var divHeight = parseInt($(".pop-info").height()); //弹出层高度
//------这里我打印看了看这个divHeight,怎么都不会变,都是页面上代码的那点高度
console.log(divHeight + "//" + $(".pop-info").get(0).clientHeight);
var scrollTop = parseInt($(document).scrollTop()); //滚动条到顶部高度
var borderLeftPx = $(".pop-info span").css("left"); //尖角距离左边位移
var borderLeft = parseInt(borderLeftPx.substring(0, borderLeftPx.indexOf("px")));
var borderTopPx;
var borderTop;
//当前位置到窗口高度小于要显示的div高度
if((top - scrollTop) < divHeight){
$(".pop-info .bot-bot").hide();
$(".pop-info .bot-top").hide();
$(".pop-info .top-bot").show();
$(".pop-info .top-top").show();
borderTopPx = $(".pop-info .top-top").css("top"); //尖角距离div高度位移
borderTop = parseInt(borderTopPx.substring(0, borderTopPx.indexOf("px")));
$(".pop-info").fadeIn();
$(".pop-info").css({left:(left - borderLeft) + 'px',top:(top + height - borderTop) + 'px'});
} else {
$(".pop-info .top-bot").hide();
$(".pop-info .top-top").hide();
$(".pop-info .bot-bot").show();
$(".pop-info .bot-top").show();
borderTopPx = $(".pop-info .bot-top").css("bottom"); //尖角距离div高度位移
borderTop = parseInt(borderTopPx.substring(0, borderTopPx.indexOf("px")));
$(".pop-info").fadeIn();
$(".pop-info").css({left:(left - borderLeft) + 'px',top:(top - divHeight + borderTop) + 'px'});
}
},function(){
hoverTimeout = setTimeout(function(){
$(".pop-info").fadeOut(0);
},100);
});
这是css,这里我给了个min-height,所以一直取到的是这个值,但是我去掉也没用,取到的是页面上div的原来的高度
.pop-info{display:none;min-height:140px;background-color:#fff; border-radius: 8px; width:300px;box-shadow:0 0 15px #9B9391;-moz-box-shadow:0 0 15px #9B9391;-webkit-box-shadow:0 0 15px #9B9391;border:1px solid #beceeb;position: absolute;z-index: 99999;line-height: 20px;}