#jquery #google-chrome #accordion
#jquery #google-chrome #аккордеон
Вопрос:
Я использую этот скрипт jQuery http://www.marghoobsuleman.com/jQuery-common-accordion и внедрил это на свой сайт.
Он отлично работает в Firefox и IE, но Chrome не отображает его корректно. Во время перехода весь раздел содержимого будет мигать, а затем раздел содержимого появится под заголовком divs.
Я сузил поиск до этого фрагмента кода jQuery, который работает некорректно:
function openMe(id) {
var sTitleID = id;
var iCurrent = sTitleID.split("_")[sTitleID.split("_").length-1];
options.currentcounter = iCurrent;
var sContentID = id "_msContent_" iCurrent;
if($("#" sContentID).css("display")=="none") {
if(options.previousDiv!="") {
closeMe(options.previousDiv);
};
if(options.vertical) {
$("#" sContentID).slideDown("medium");
} else {
$("#" sContentID).show(400);
//$("#" sContentID).css({ display: "inline" });
}
options.currentDiv = sContentID;
options.previousDiv = options.currentDiv;
};
};
function closeMe(div) {
if(options.vertical) {
$("#" div).slideUp("medium");
} else {
$("#" div).hide(400);
//$("#" div).css({ display: "none" });
};
};
Когда я заменяю $ («#» sContentID).show(400); на теги in comment code $ («#» sContentID).show(400);, анимация исчезает, но она отображается правильно во всех 3 браузерах.
У кого-нибудь есть какие-либо предложения относительно того, почему Chrome не отображает его правильно и как я могу это исправить?
Комментарии:
1. не могли бы вы предоставить нам jsfiddle. чистая демонстрация
2. я не могу заставить его работать в jsfiddle: jsfiddle.net/UyeLX
3. Вот рабочая скрипка, хотя не уверен, что происходит не так. Моя единственная мысль заключается в том, что это каким-то образом связано с тем фактом, что анимация отображения и скрытия выполняется одновременно, что приводит к переносу объектов внутрь div, что вызывает мигание. Не могу понять, почему разделы содержимого в конечном итоге оказываются под заголовками. jsfiddle.net/UyeLX/1
4. TY Я понял, почему он помещал их под. Это было связано с определением ширины в классе content в css. .accordionWrapper div.content { отображение: отсутствует; ширина: 800 пикселей; переполнение: скрыто; заполнение: 25 пикселей; } Я создал новый div, чтобы вставить его внутрь, и убрал ширину из .accordionWrapper div.content, хотя он все еще мерцает
5. вот последняя версия, в которой divs работают правильно, но мерцание в анимации все еще сохраняется jsfiddle.net/UyeLX/3