我已经用jQuery UI滑块替换了MooTools滑块,因为我们的内容管理系统使用jQuery和各种其他jQuery UI元素。我遇到了一个问题,在Firefox和Chrome上滑动条(它是水平的)在滑动时似乎向上移动到div,从而隐藏滑块。它似乎在每一个移动增量中都会这样做。从萤火虫看来,滑块在使用时会出现负顶端边距,并且似乎是来来去去。我很遗憾地无法展示一个例子,因为它在我们的后端,但会包含所有的代码。希望有一些有关jQuery UI的丰富知识的人可以帮助我。jQuery UI滑块向上移动并在使用时消失在div中
标记为滑块:
<div id="slider_bar">
</div>
CSS滑块
/* === Slider === */
.ui-slider { position: relative; text-align: left; border: 0px none; }
.ui-state-focus .ui-slider-handle { border: 0px none; }
.ui-slider .ui-slider-handle { top: -9px; margin-left: -12px; width: 30px;height: 25px; background: url(/../../includes/clientArea/imagesNew/manageNavigation/slider-ball.png) 13px 10px no-repeat; position: absolute; z-index: 60; cursor: pointer; }
.ui-slider .ui-state-hover { }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
.ui-slider .ui-state-default { border: 0px none; }
.ui-slider-horizontal { width: 204px;height: 25px; background: url(/../../includes/clientArea/imagesNew/manageNavigation/sliderBar.png) 0px 0px repeat-x;}
.ui-slider-horizontal .ui-slider-handle { top: -9px; margin-left: -12px; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; background: url(/../../includes/clientArea/imagesNew/manageNavigation/sliderBar.png) 0px -5px repeat-x; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
jQuery代码
jQuery('#slider_bar').slider({ min: 10, max:18 });
在网页加载时,滑块标记如下所示:
<div id="slider_bar" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
<a href="#" class="ui-slider-handle ui-state-default ui-corner-all" style="left: 0%;"></a>
</div>
后,我将滑块移动,它看起来如下:
<div id="slider_bar" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all" style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; margin-top: -25px; ">
<a href="#" class="ui-slider-handle ui-state-default ui-corner-all ui-state-focus" style="left: 37.5%; "></a>
</div>
这当然是对的margin-top:-25px这导致这个问题,但我不知道为什么jQuery这样做。它似乎这样做只在Firefox和Chrome,但不是在IE8(东西实际上在IE中工作??)
任何想法?
我把我的头发拉出了一点点。谢谢! – DemonGyro 2014-02-13 19:56:21
@DemonGyro很高兴它帮助 – Ehsan 2014-02-14 08:18:05
它发生在我身上的只有Safari浏览器的jQuery UI 1.11和mootools。快速简单的解决方案,谢谢! – MazarD 2015-01-29 23:50:14