我有一个滚动的div(主页面没有滚动条)和一个可滚动内容中的jQuery UI按钮。在IE6和IE7中,按钮不会与div的内容一起滚动,如果将鼠标放在不正确的位置时,它会执行有趣的操作。在IE6和IE7中滚动div时jQuery UI按钮不会移动(有时会消失)
下面是一个例子(被包括的jQuery 1.5在报头):
<link rel="stylesheet" type="text/css" href="Lib/jquery-ui-1.8.10.custom.min.css" />
<script type="text/javascript" src="Lib/jquery-1.5.min.js"></script>
<script type="text/javascript" src="Lib/jquery-ui-1.8.10.custom.min.js"></script>
<div style="width: 400px; height: 300px; overflow: scroll;">
<div style="width: 400px; height: 1200px;">
Hello world<br /><br />
<a href='#' id='test'>test button</a>
</div>
</div>
<script>
$('#test').button();
</script>
我发现了一个解决办法,但它并不是完美的;我赶上滚动事件,并在button元素上调用.button('enable')
(出于某种原因,.button('refresh')
没有做任何事情)。它使按钮正确滚动,但现在当滚动时滚动(它向上滚动到div顶部并仍然可见)时,该按钮显示在div外部。下面的代码:
<link rel="stylesheet" type="text/css" href="Lib/jquery-ui-1.8.10.custom.min.css" />
<script type="text/javascript" src="Lib/jquery-1.5.min.js"></script>
<script type="text/javascript" src="Lib/jquery-ui-1.8.10.custom.min.js"></script>
<div class='scrollingDiv' style="width: 400px; height: 300px; overflow: scroll;">
<div style="width: 400px; height: 1200px;">
Hello world<br /><br />
<a href='#' id='test' class='scrollingButton'>test button</a>
</div>
</div>
<script type="text/javascript">
$(function(){
$('#test').button();
$('.scrollingDiv').scroll(function() {
$('.scrollingButton').button('enable');
});
});
</script>
哪里方法 “按钮” 定义?据我所知,它不是jQuery的一部分。 jQueryUI中的 – 2011-03-30 19:42:46
(不是从代码中清除,但在第一句中提到) – ttubrian 2011-03-30 19:53:33
嗯。奇怪的是,我在我的小提琴中添加了jQueryUI,但没有按钮支持。 http://jsfiddle.net/bhofmann/9pPa8/ – 2011-03-30 19:57:54