javascript - 一次向下滚动并再次向上滚动后灯箱顶部边距变化

标签 javascript jquery css lightbox css-position

我正在使用灯箱来显示带有照片的评论。问题是,当我向下滚动以查看灯箱,然后滚动回到顶部时,即使在指定顶部后,顶部边距也会发生变化。

我指定顶部和左侧的 jQuery 代码是:

jQuery.fn.center = function() {
  this.css("position","fixed");
  var top = "20px";
  left = ( $(window).width() - this.width() ) / 2+$(window).scrollLeft()+"px";
  this.animate({top: top, left: left});
  return this;
}

$('#tp-lightboxactitem').center();  

这是灯箱 div 的 HTML:

<div class="dark-lightbox lightboxitem tp-lightboxactitem-loaded" id="tp-lightboxactitem" style="display: block; top: 20px; left: 314.5px; position: fixed; margin-top: 30px;">
  <div>
    <center>
      <img src="uploads/_DSC9322_watcopy_bor_5_$1$uh2.fw5.$uFln.yw5QjSgVKjmhD8.jpg?id=3&amp‌​;pic=113" class="tp-mainimage" id="plzxc">
    </center>
  </div>
  <div class="dark-lightbox infofield">
    <div class="dark-lightbox title"></div>
    <div class="dark-lightbox pageofformat">( 1 / 5 )</div>
    <div class="dark-lightbox description" id="dark-lightbox description">

滚动前的显示方式

![滚动前的显示方式][1]

向下滚动然后再次向上滚动后的显示方式

![向下滚动然后再次向上滚动后的显示方式][2]

最佳答案

通过做一些小的改变来解决这个问题

代码如下,希望对有需要的人有所帮助

cssAnimate({'left':($(window).width()/2 - thisw/2)+'px', 'top':'20px' },{duration:300,queue:false});

关于javascript - 一次向下滚动并再次向上滚动后灯箱顶部边距变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9203328/

相关文章:

javascript - 从 RGB 字符串中收集数字

javascript - 如何使用 AJAX 获取 CGI 脚本响应

html - 如何根据视口(viewport)中的部分将类添加到正文标记

javascript - 我们如何在 JavaScript 中创建类 bool 对象?

javascript - 未捕获( promise )TypeError : undefined is not a function (Vue. js,Electron)

javascript - 使用 moment.js #javascript 将时间舍入到最接近的 30 分钟

javascript - 用户离开密码字段后验证密码长度

javascript - 在使用 jquery 滚动时,对 div 元素的类更改没有实时响应

javascript - 元素不随 jquery ajax 接收到的数据移动

jquery - jquery 上的动态隐藏可见 div 事件