中心hs.loading而不是相对计算

时间:2013-04-05 10:41:16

标签: loading highslide

我喜欢把高滑道中心加载#34;装载"像这样:

.highslide-loading {
  display: block;
  position:fixed;
  top:50%;
  left:50%;
  height:32px;
  width:32px;
  padding: 24px;
  margin:-40px 0 0 -40px;
  text-indent:-9999em;
  background:#FFFFFF url(img/hslide_loader_white.gif) 50% 50% no-repeat;
  -webkit-box-shadow:0 0 5px 0 rgba(0, 0, 0, 0.75);
  box-shadow:0 0 5px 0 rgba(0, 0, 0, 0.75);
  -webkit-border-radius: 3px;
  border-radius: 3px;
}

但是highslide脚本会发出如下内联样式:

element.style {
  left: 134px;
  opacity: 0.9;
  position: absolute;
  top: -9999px;
  z-index: 1003;
}

我在旧的支持论坛中找到了这个帖子,它解释了如何访问加载对象:http://highslide.com/forum/viewtopic.php?f=1&t=1796&p=7975

hs.Expander.prototype.onShowLoading = function (sender) {
   var width = sender.thumbWidth;
   sender.loading.style.width = width +'px';
};

这也适用于"位置"但不是" top"或"离开"

,因为:

  

在onShowLoading事件之后设置top和left值,所以   那些不能被事件处理程序编辑。你可以编辑   highslide.js文件本身来解决这个问题。另一种方法是设置一个   marginLeft和marginTop到加载标签,让Highslide做   顶部和左侧。

但是 - 我对highslide脚本有不同的用法,需要保留highslide.js的代码库。利润不会帮助我。

我确实制作了自定义配置脚本 - 但无法访问hs.loading。

if (typeof(hs) != "undefined") {

  $.extend(true, hs || {}, {

    dimmingOpacity:0.75,
    ...,
    loading: hs.createElement('a', {
            className: 'highslide-loading',
            title: hs.lang.loadingTitle,
            innerHTML: hs.lang.loadingText,
            href: 'javascript:;'
        }, {
            position: 'fixed',
            top: '50%',
            opacity: hs.loadingOpacity,
            zIndex: 1
        }, hs.container
    )

  });

}

也在hs.overrides(http://highslide.com/ref/hs.overrides)中,无法访问加载程序

有没有办法让装载机在窗口中居中?

如果没有 - 我停止调查; - )

0 个答案:

没有答案