Проблема:
Я делаю jQuery .ajax вызовы, нажимая на некоторые изображения курсора, чтобы перемещаться по каталогу книг, заменяя содержимое div на ответ ajax (обычный html). Существует изображение курсора, которое показывает только, если в книге более 1 рисунка, и управляется php-кодом, который напрямую отображает HTML, указанный в обратном вызове ajax.
В FF и IE> 7 скрипт работает правильно. Но в браузерах Webkit обратный вызов ajax хорошо сделан, но он отображает CSS неправильно. Кажется, что изображение правильного курсора кэшируется после того, как оно показывается в первый раз, даже если книга не имеет никаких дополнительных изображений. Самое интересное, что изображение правого курсора отображается, но функциональность JS не работает (как и должно быть, потому что нет лишнего изображения), а также потому, что при навигации с помощью инструментов разработчика, открытых в Chrome, CSS отрисовывается нормально, как и должно быть , как в FF и IE7.
Это может быть проблема неправильного использования $ (document) .ready?
Это код JS, вставленный как внешний файл .js:
function goBook(val, dir, lang){
var direction = '';
var inverse = '';
if(dir == 'down'){
direction = '+';
inverse = '-';
}else{
direction = '-';
inverse = '+';
}
$(document).ready(function(){
$("div.itemlateral").animate({'top': inverse+"500px"});
$.ajax({
url: "projects",
type: "POST",
data: { book: val, pic: 0, language: lang },
dataType: "json",
success: function(data){
$("div.inner-content").html(data.projects);
$("div.itemlateral").css({'top': direction+"1000px"});
$("div.itemlateral").animate({'top': "0px"});
}
});
});
}
}
function nextImg(val, val2, dir, lang){
var direction = '';
var inverse = '';
if(dir == 'right'){
direction = '+';
inverse = '-';
}else{
direction = '-';
inverse = '+';
}
$(document).ready(function(){
$("div.node-image").animate({'left': inverse+"500px"});
$.ajax({
url: "projects",
type: "POST",
data: { book: val, pic: val2, language: lang },
dataType: "json",
success: function(data){
$("div.inner-content").html(data.projects);
$("div.node-image").css({'left': direction+"1000px"});
$("div.node-image").animate({'left': "0px"});
}
});
});
}