Решил за счет того что в меню с выезжающим текстом начал использовать setTimeout
action = 0;
document.getElementById('js-collection1-text1').onmouseover = function moveLongText() {action = 1; moveLT();}
document.getElementById('js-collection1-text1').onmouseout = function moveBackLongText() {action = 0; moveLT();}
function moveLT() {
if (action==1) {
if (marginLT >= 118) {
marginLT=marginLT-8;
text1.style.marginLeft = marginLT+'px';
setTimeout(moveLT, 1);
}
} else {
if (marginLT <= 549) {
marginLT=marginLT+8;
text1.style.marginLeft = marginLT+'px';
setTimeout(moveLT, 1);
}
}
}