お気づきのとおり、問題は、重なり合う要素がマウスイベントを食べているため、実際のリスト項目をホバー/クリックできないなどです.
mouseover
リスト要素のコンテナーで使用して、マウスがその上半分または下半分にあるかどうかを確認できます..
私のワーキングテストは
var state = '';
$('div.listaterm').mousemove(function(e){
var self = $(this),
position = self.offset(),
height = self.outerHeight(),
mouse = e.pageY-position.top,
inTopHalf = mouse <= (height/2),
sign = inTopHalf ? '-' : '+';
if (sign != state){
state = sign;
jQuery('.jcarouselcall').jcarouselAutoscroll('stop');
jQuery('.jcarouselcall').jcarouselAutoscroll({'target': sign+'=1'});
jQuery('.jcarouselcall').jcarouselAutoscroll('start');
}
}).mouseout(function(e){
if (!$(this).find(e.relatedTarget).length && !(e.relatedTarget == this)){
state='';
jQuery('.jcarouselcall').jcarouselAutoscroll('stop');
}
});
ただし、矢印要素が要素と重ならないようにする必要がありますdiv.listaterm
。もちろん、矢印からホバー ハンドラーも削除します。