Saya memiliki div yang bergulir secara horizontal yang berisi gambar.
Menggunakan beberapa jQuery, saya memilikinya sehingga mengklik bagian kanan div akan menggulir ke gambar berikutnya, dan setengah kiri menggulir ke gambar sebelumnya. Saat ini, setelah fungsi scrollTo, gambar berikutnya/sebelumnya muncul di sebelah kiri penampung.
Bagaimana cara mengubahnya agar berada di tengah wadah, dan juga mengubah fungsi currentElement untuk memeriksa kapan gambar berada di tengah.
$(document).ready(function(){
var container = $("#sg-scroll"),
child = $(".sg-pic_wrap"),
current;
// CURRENT ELEMENT CHECK
function currentElem () {
child.each(function(){
var x = $(this).offset().left,
w = $(this).width();
if (x <= 0 && x < w ) {
current = $(this);
}
})
}
// MOVE TO ELEM
function scrollTo (elem) {
container.scrollLeft(elem);
}
// CLICK
container.on("click", function(e){
var _w = $(window).width();
if ((e.pageX) <= (_w/2)) { // LEFT
currentElem();
if (current.prev().length > 0) { // otherwise we get undefined error
scrollTo( parseInt((container.scrollLeft()) + (current.prev().offset().left) + 5 ) );
}
}
else { // RIGHT
currentElem();
scrollTo( parseInt((container.scrollLeft()) + (current.next().offset().left) + 5 ) );
}
});
// CURSOR ...
container.on("mousemove", function(e){
var _w = $(window).width();
if ((e.pageX) <= (_w/2)) { // LEFT
}
else { // RIGHT
}
});
});//document.ready
Ini adalah Fiddle untuk digunakan di galeri.