javascript – 设置jQuery .offset();而“display:none;”导致其他左侧和顶部值而不是“display:block;”

前端之家收集整理的这篇文章主要介绍了javascript – 设置jQuery .offset();而“display:none;”导致其他左侧和顶部值而不是“display:block;”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面的ajax加载div是“display:none”,当显示样式不是没有时,它的位置将被正确设置!为什么?有解决方法吗?
我很感谢任何建议……

  1. function setTwPopup(x,y){
  2. $.ajax({
  3. url: "twPopup.html",async : false,success: function(result){
  4. $('body').append(result);
  5. }
  6. });
  7. var popUp = $('.twPopup');
  8. var x = x-71;
  9. var y = y-342;
  10. popUp.offset({'top': y,'left': x});
  11. //popUp.draggable({ handle: popUp });
  12. //popUp.fadeIn(400);
  13. }

编辑:将不透明度设置为0而不是显示解决方法:none不好,因为我之后需要.fadeIn()…而fadeIn会将其淡化为bevore setet

最佳答案
这个怎么样:

  1. function showThatDiv() {
  2. thatDiv.css({
  3. display: 'block',opacity: 0
  4. });
  5. // calculate x and y HERE
  6. thatDiv.css({
  7. left: x,top: y
  8. }).fadeIn("slow");
  9. }

猜你在找的jQuery相关文章