我正在尝试将jQuery插件SmoothDivScroll(http://www.smoothdivscroll.com/)从其包含内容的中心开始,因此在加载时左右两侧都有滚动条。我知道有一个startAtElementId选项,但这不允许我从中心开始。
我已经尝试计算中心点并将其应用于适当的元素,但是左滚动总是在它预期之前停止并且右边元素浮动在下面。
尝试使用这个Js没有运气:
$("div#scroller").smoothDivScroll();
var halfWayDoc = $(document).width() / 2;
var halfWayScrollArea = $("#scroller .scrollableArea").width() /2;
var halfWay = halfWayDoc - halfWayScrollArea;
var scrollArea = $("#scroller .scrollableArea").width();
var scrollAreaAdjust = scrollArea + halfWay;
$("#scroller .item:first-child").css("margin-left",halfWay);
$("#scroller .item:last-child").css("margin-right",halfWay);
$("#scroller .scrollableArea").width(scrollAreaAdjust);
HTML看起来像这样:
<div id="scroller">
<div class="scrollingHotSpotLeft"></div>
<div class="scrollingHotSpotRight"></div>
<div class="scrollWrapper">
<div class="scrollableArea">
<div class="item">
<img src="assets/images/detail/Erdem-A-W-11-B2-sml.jpg" alt="example"/>
</div>
...
<div class="item">
<img src="assets/images/detail/Erdem-A-W-11-B2-sml.jpg" alt="example"/>
</div>
</div>
</div>
</div>
任何帮助或指示表示赞赏。
干杯, 肖恩
答案 0 :(得分:2)
以下是我建议的解决方案: - )
// Element for Scroll
var scrollElement = $("div#scroller");
// Enable Smooth Div Scroll
scrollElement.smoothDivScroll();
// Find out Scrollable area's width
var halfWidth = $("div#scroller .scrollableArea").width()/2;
// Force scroller to move to half width :-)
scrollElement.data("scrollWrapper").scrollLeft(halfWidth);
我更新小提琴,所以你可以看一下这个更新:
我希望这会有所帮助: - )
答案 1 :(得分:0)
网站http://www.smoothdivscroll.com/index.html#quickdemo中的基本示例正在实施该功能。动画从ID为“startAtMe”的图像开始
$("div#makeMeScrollable").smoothDivScroll({ autoScroll: "onstart",
autoScrollDirection: "backandforth",
autoScrollStep: 1,
autoScrollInterval: 15,
startAtElementId: "startAtMe",
visibleHotSpots: "always" });
。您是否尝试通过为要开始的元素指定id并将startAtElementId:“startAtMe”传递给smoothDivScroll函数?