在 Lion 10.8 上的新 safari 浏览器 6.0 上,此代码无法正常执行。在 Firefox 和 iPad Safari 中运行良好。但是在 Mac 上,当我上下滚动时,它会一直振动。我试图保持顶部横幅滚动,直到按钮到达页面顶部,此时我希望按钮保持固定。
这是页面的链接:
http://www.persiantunedpiano.com/Mirror/events.htm
这是js:
<script type="text/javascript">
<![CDATA[
$(document).scroll(function() {var scrollTop = $(window).scrollTop();
scroll(0, scrollTop);
if (scrollTop > 189) {
//alert(scrollTop);
$('#top_links').css('position', 'fixed');
$('#top_links').css('top', '0');
$('#left_links').css('position', 'fixed');
$('#left_links').css('top', '57px');
} else {
//alert('2');
$('#top_links').css('position','absolute');
$('#top_links').css('top', '186px');
$('#left_links').css('position', 'absolute');
$('#left_links').css('top', '242px');
//allertSize();
}
});
//]]>
</script>
最佳答案
嗯...好像太慢了,这会加快它的速度,但不能确定它是否足够快:
(我将 jQuery 元素添加到闭包中,因此您不必每次移动都搜索它们 4 次。)
<script type="text/javascript">
var top_links = $('#top_links');
var left_links = $('#left_links');
$(document).scroll(function() {
var scrollTop = $(window).scrollTop();
scroll(0, scrollTop);
if (scrollTop > 189) {
top_links.css('position', 'fixed')
.css('top', '0');
left_links.css('position', 'fixed')
.css('top', '57px');
}
else {
top_links.css('position','absolute')
.css('top', '186px');
left_links.css('position', 'absolute')
.css('top', '242px');
}
});
</script>
关于javascript - 跨浏览器兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11924490/