タイマーの実装でいくつかの調整を行い、要素に位置がある場合にのみ使用できるleft valueを操作しているため、スライドする要素で欠落している css position:relativeを修正しました。
HTML
<div id="leftarrow">HOVER</div>
<div class="mid"></div>
CSS
.mid {
clear: both;
border: 1px solid black;
background-color: green;
width: 100px;
height: 100px;
position: relative;
}
#leftarrow {
float: left;
border: 1px solid black;
margin-bottom: 4px;
cursor: pointer;
}
Jクエリ
// declare variables
var timer;
var speed = 400;
// slide function
function slide() {
return setInterval(function() {
$(".mid").animate({
'left': '+=20px'
}, 200);
}, speed);
}
// hover event for the button
$("#leftarrow").hover(function() {
timer = slide();
}, function() {
clearInterval(timer);
});
ここでフィドルを参照してください!