ฉันมี div แบบเลื่อนแนวนอนที่มีรูปภาพ
เมื่อใช้ jQuery ฉันมีมันเพื่อให้การคลิกครึ่งขวาของ div จะเลื่อนไปที่รูปภาพถัดไป และครึ่งซ้ายจะเลื่อนไปที่รูปภาพก่อนหน้า ในปัจจุบัน หลังจากฟังก์ชัน scrollTo รูปภาพถัดไป/ก่อนหน้าจะมาทางด้านซ้ายของคอนเทนเนอร์
ฉันจะเปลี่ยนให้มาอยู่กึ่งกลางคอนเทนเนอร์ได้อย่างไร และเปลี่ยนฟังก์ชัน currentElement เพื่อตรวจสอบว่ารูปภาพอยู่กึ่งกลางเมื่อใด
$(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
นี่คือ Fiddle สำหรับใช้ในแกลเลอรี