こんにちは、次の要素にスクロールするスライダーを作成したいと思います。
<ul>
および多数のタグを使用し<li>
ています。すべてを希望どおりにスタイル設定していますが、JS はコンソールで次のエラーを返しています。
Uncaught TypeError: Cannot read property 'left' of undefined
私が持っている JS は以下にあるか、またはjsFiddleを表示しています:
var currentElement = $("li .listofyears:first");
// completely ignoring boundaries
$("#NavigateBackward").click(function() {
currentElement = currentElement.prev();
scrollTo(currentElement);
});
$("#NavigateForward").click(function() {
currentElement = currentElement.next();
scrollTo(currentElement);
});
function scrollTo(element) {
$(window).scrollLeft(element.position().left);
}
私のhtmlは以下の通りです:
<div id="years_arrows">
<span class="nav_arrows" ><img src="http://iconify.it/wp-content/icons-large-alt/arrow-left.png" id="NavigateBackward" /></span>
<span class="nav_arrows aaa" ><img src="http://upload.wikimedia.org/wikipedia/commons/4/45/Right-facing-Arrow-icon.jpg" id="NavigateForward"/></span>
<div id="slider">
<div id="yearslistwrapper">
<ul class="yearslist">
<li class="listofyears"><a href="#">2003</a></li>
<li class="listofyears"><a href="#">2004</a></li>
<li class="listofyears"><a href="#">2004</a></li>
<li class="listofyears"><a href="#">2005</a></li>
<li class="listofyears"><a href="#">2006</a></li>
<li class="listofyears"><a href="#">2007</a></li>
<li class="listofyears"><a href="#">2008</a></li>
<li class="listofyears"><a href="#">2009</a></li>
<li class="listofyears"><a href="#">2010</a></li>
<li class="listofyears"><a href="#">2011</a></li>
<li class="listofyears"><a href="#">2012</a></li>
<li class="listofyears"><a href="#">2013</a></li>
</ul> <!-- END UL yearslist -->
</div> <!--End slider-->
</div> <!-- End years_arrows div -->