我想創建一個滾動操作,其中我想切換.clone類與它的轉換。它在Chrome中正常工作,但它不適用於Firefox。 有人可以幫我嗎?JQuery滾動無法在Firefox中工作
CSS:
header {
display: none;
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
padding: 20px;
box-sizing: border-box;
font-size: 20px;
color: white;
}
header.clone {
display: block;
position: fixed;
top: -65px;
left: 0;
right: 0;
z-index: 999;
transition: 0.2s top cubic-bezier(.3, .73, .3, .74);
-webkit-transition: 0.2s top cubic-bezier(.3, .73, .3, .74);
-moz-transition: 0.2s top cubic-bezier(.3, .73, .3, .74);
-o-transition: 0.2s top cubic-bezier(.3, .73, .3, .74);
-ms-transition: 0.2s top cubic-bezier(.3, .73, .3, .74);
background: #3E3E3E;
}
JQuery的:
$(document).ready(function() {
var $header = $("header");
$clone = $header.before($header.clone().addClass("clone"));
$(document).on("scroll", function() {
var fromTop = $("body").scrollTop();
$("body").toggleClass("down",(fromTop > 800));
});
});
的演示將幫助我懷疑,因爲你沒有提供的HTML。 –
你應該使用'var fromtop = $(window).scrollTop()',FF和IE使用'html'滾動並且只有webkit相關的瀏覽器使用'body' - 'window'是它們共同的因素, 。 – Shikkediel
由於你的'scroll'事件被多次調用(太多),所以你最好在事件之外緩存jquery對象。所以,你的事件應該看起來像'$ body.toggleClass(「down」,$ window.scrollTop()> 800)''。 –