おそらく数百万のスライダーの1つを使用する代わりに、非常に単純なjqueryスライダーを作成しようとしています。というわけでほぼ完成ですが、問題が。jquery の animate を使用して画像を移動しています。スクリプトを機能させるには、すべての画像を同じ水平線上に表示する必要があります。今、それらは縦にリストされており、私はこれを2時間考えていました. したがって、HTMLは次のとおりです。
<div id="gallery-wrap">
<div id="gallery">
<img class="galleryimage" src="http://materiaalit.kotisivut.name/sivustokuvat/ccc.PNG" alt="" />
<img class="galleryimage" src="http://materiaalit.kotisivut.name/sivustokuvat/coverline.PNG" alt="" />
<img class="galleryimage" src="http://materiaalit.kotisivut.name/sivustokuvat/ccc.PNG" alt="" />
<img class="galleryimage" src="http://materiaalit.kotisivut.name/sivustokuvat/coverline.PNG" alt="" />
<img class="galleryimage" src="http://materiaalit.kotisivut.name/sivustokuvat/ccc.PNG" alt="" />
<img class="galleryimage" src="http://materiaalit.kotisivut.name/sivustokuvat/coverline.PNG" alt="" />
</div>
<div id="gallery-controls">
<a id="gallery-prev" href="#"><img alt="" /> </a>
<a id="gallery-next" href="#"><img alt="" /></a></div>
</div>
<div style="clear: both;"></div>
CSS:
#gallery-wrap{margin: 0 auto; overflow: visible; width: 100%; position: relative; height:300px; border:1px solid black; border-radius:6px; z-index:3;}
#gallery{position: relative; left: 0; top: 0; width:100%;}
.galleryimage{float:left; width:100%; height:300px;}
#gallery-controls{width: 100%; z-index:4;}
#gallery-prev{position:absolute; left:0px; top:0px; width:50%; height:300px; background-color:rgba(77,77,77,0.5);}
#gallery-next{position:absolute; right:0px; top:0px; width:50%; height:300px; background-color:rgba(88,88,88,0.5);}
そしてjquery:
$(document).ready(function(){
$("#gallery-prev").click(function(){
$(".galleryimage").animate({"left": "-=100%"}, "slow");
});
$("#gallery-next").click(function(){
$(".galleryimage").animate({"left": "+=100%"}, "slow");
});
});
間違ったことを説明した場合に備えて、現時点で画像がどのようにレンダリングされるかを示す図を次に示します。英語は私の母国語ではありません。
運が悪い場合は、display:inline を試してみました。