1
我試圖讓一個元素更改位置固定滾動某一點後,但是沒有任何反應時滾動。我有<script src="stiler/jquery-3.1.1.min.js"></script>
引用jQuery在<head>
。滾動時什麼都沒有發生。在DOM控制檯中沒有錯誤消息,沒有任何東西。jquery沒有響應滾動
$(document).ready(function(){
var wrap = $('#header-wrap');
$(window).on('scroll', function(e) {
if (this.scrollTop > 147) {
wrap.addClass('fix');
} else {
wrap.removeClass('fix');
}
});
});
body {
background-color: grey;
margin: 0;
min-height: 300vh;
}
#header-wrap {
top: 0;
width: 100%;
}
#redline {
top: 0;
left: 0;
width: 100%;
position: fixed;
height: 10px;
background-color: #b30027;
z-index: 99;
}
#velkommen {
height: 300px;
width: 100%;
background-color: white;
position: relative;
top: 10px;
margin-bottom: -60px;
}
#header {
position: relative;
left: 0;
width: 100%;
background-color: white;
height: 60px;
}
.fix #header {
position: fixed;
top: 10px;
}
h1 {
margin: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header id="header-wrap">
<div id="redline"></div>
<div id="velkommen"></div>
<div id="header"> <!--This tag should get class="fix"-->
<h1>#HEADER</h1>
</div> </header>
您的示例中存在一些差異。在你描述的問題中你已經列出了jQuery v3.1.1,但是在你的代碼片段中你有2.1.1。在最後一次關閉' div'的HTML中也有一個錯字。另外,對於您的編輯,在您的原始代碼中,是否已將代碼封裝在'$(document).ready()' – disinfor
中。代碼不是包裹在'$(document).ready()'中,沒有。現在,使用與代碼段中完全相同的代碼。該片段沒有列出3.1.1 jquery。 – student42