我尝试了下面的代码,但是我无法淡化驻留在滚动面板的.pane类中的背景图像。
$(".pane").scroll(function() {
var y = $(".pane").scrollRight();
if (y > 50) {
$(".bg").fadeIn("slow");
} else {
$(".bg").fadeOut("slow");
};
});
这是我的HTML代码 我使用窗格类来包含我的背景图像,驱动程序类包含要滚动的div。我希望在滚动时背景图像应该淡出。
<div class="row disp pane bg">
<h5 class="text">Check Now</h5>
<h4 class="text1">Popular Clicks</h4>
<div id="driver" class="dis bord" style="margin-left:1080px;">
<img src="images/wrogn.jpg" class="image" alt="women">
<p class="text-muted brand"><strong>WROoGN</strong></p>
<h5 style="line-height:0px"><strong>₹1,660</strong></h5>
<table>
<tr>
<td>
<p class="text-muted" style="font-size:11px">₹<del>2,660 </del></p>
</td>
<td>
<p class="text-danger" style="font-size:10px"> 40% OFF
<p>
</td>
</tr>
</table>
</div>
答案 0 :(得分:0)
首先你应该使用scrollLeft()
而不必在.bg
上应用淡化,这与.pane
的元素相同,因为你只需要禁用此元素,它就会消失你不能再滚动它了。
相反,我建议你创建另一个具有绝对位置和低z-index的元素,它将覆盖.pane
,并对其应用淡入淡出:
$(".pane").scroll(function() {
var y = $(".pane").scrollLeft();
if (y > 50) {
$(".bg").fadeIn("slow");
} else {
$(".bg").fadeOut("slow");
};
});
.pane {
overflow: auto;
position: relative;
}
.bg {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-image: url(https://lorempixel.com/800/800/);
background-size: cover;
z-index: -1;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row disp pane">
<div class="bg"></div>
<h5 class="text">Check Now</h5>
<h4 class="text1">Popular Clicks</h4>
<!--<h3 class = "text">Clicks</h3>
<div class = "parallax dis">
<img src = "images/parallax.jpg" alt = "trends" class = "trend">
</div>-->
<div id="driver" class="dis bord" style="margin-left:1080px;">
<img src="images/wrogn.jpg" class="image" alt="women">
<p class="text-muted brand"><strong>WROoGN</strong></p>
<table>
<tr>
<td>
<p class="text-danger" style="font-size:10px"> 40% OFF
<p>
</td>
</tr>
</table>
</div>