Я использую функцию ниже, чтобы показывать случайные кавычки в #quotescontainer каждый раз, когда происходит изменение вкладки в пользовательском интерфейсе jQuery Tabs. Работает нормально во всем, кроме IE7-8 (конечно).
В IE7-8 происходит то, что отображается первая цитата, а вторая, случайная цитата появляется в #quotescontainer прямо под первой цитатой. Во всех других браузерах отображается только одна цитата, и она вращается при смене вкладки. Поэтому IE берет первую цитату в div.quote из quotes.html, показывает ее, а также показывает случайную цитату под первой цитатой.
Что я могу попытаться заставить IE правильно поменять местами кавычки? И не застрять на первой цитате?
Это проблема с кешем? Или проблема с функцией, всегда читающей quote1 и добавляющей quote2 под ней?
Я не использую кэширование в .htaccess. Я попытался добавить $.ajaxSetup({cache: false});
в функцию без удачи.
6/01/11 fix; проблема заключалась в некотором html внутри <div class="quote">quote text</div>
в quotes.html. Каким-то образом это сломало IE7-8.
jsfiddle: http://jsfiddle.net/YAEe5/28/
Моя функция: с помощью Мэтью Ратцлоффа ниже
select: function(event, ui) {
var random = Math.floor(Math.random() * (Math.pow(2, 32) - 1));
$('div#quotescontainer').load('http://mydomain.com/quotes.html?' + random, function() {
var quotes = $(this).find('div.quote');
var index = Math.floor(Math.random() * quotes.length);
quotes.hide().eq(index).fadeIn();
});
цитаты отображаются на странице в #quotescontainer
quotes.html содержит это:
<div class="quote">Quote1</div>
<div class="quote">Quote2</div>
<div class="quote">Quote3</div>