Да, вы должны предварительно загрузить изображения. К счастью, это просто:
var images_to_preload = ['myimage.jpg', 'myimage2.jpg', ...];
$.each(images_to_preload, function(i) {
$('<img/>').attr({src: images_to_preload[i]});
});
Другая вещь, которую вы должны понять, это то, что, когда вы используете jQuery, вы должны действительно принять это, или вы в конечном итоге будете делать вещи неправильно. Например, как только вы повторяете один и тот же кусок кода в разных местах, вы, вероятно, делаете что-то не так. Прямо сейчас у вас есть это повсюду:
<div id="service" onmouseover="javascript:mouseEnter(this.id);" onmouseout="javascript:mouseLeave(this.id);">
Убери это из головы. Сейчас. Навсегда. Всегда. Встроенные события javascript не являются правильными, особенно если в вашем распоряжении есть библиотека, такая как jQuery. Правильный способ сделать то, что вы хотите, это:
$(function() {
$('div.box').hover(function() {
$(this).addClass('active');
$(this).find('div.slideup').slideDown('slow');
}, function() {
$(this).removeClass('active');
$(this).find('div.slideup').slideUp('slow');
});
});
(Вы должны дать всем элементам #industrial, #sustainable и т. Д. Класс 'box' для работы вышеупомянутого)
Эти изменения также исправят вашу проблему со скольжением.