这是涉及的jQuery:
$(document).ready(function() {
$("#scroll-container").on("scroll", function () {
var cur = $(this).scrollLeft();
if (cur == 0) {
$('#container').addClass('shadow-right').removeClass('shadow-left');
}
else {
var max = $(this)[0].scrollWidth - $(this).parent().width();
if (cur == max) {
$('#container').addClass('shadow-left').removeClass('shadow-right');
} else {
$('#container').addClass('shadow-right shadow-left');
}
}
});
$("#scroll-container").trigger("scroll");
});
这会将当前scrollLeft()
值与最大可用值进行比较,并相应地调整容器的类别。
此外,您的 CSS 需要一些调整。当同时应用.shadow-left
和.shadow-right
时, then.shadow-left
将简单地覆盖来自的box-shadow
设置.shadow-right
,从而仅产生左阴影。将最后一条语句添加到 CSS 的末尾将解决此问题(这是我在演示中所做的):
#container.shadow-left.shadow-right {
box-shadow: inset 7px 0px 10px -7px blue, inset -7px 0px 10px -7px blue;
-webkit-box-shadow: inset 7px 0px 10px -7px blue, inset -7px 0px 10px -7px blue;
-moz-box-shadow: inset 7px 0px 10px -7px blue, inset -7px 0px 10px -7px blue;
}
编辑:我稍微优化了脚本,因为它将快速运行,并添加了最后一行,scroll
在页面加载时触发一次事件,因此容器从一开始就有适当的阴影。
希望这可以帮助!