Я использую функцию ниже, чтобы показать случайную цитату в #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>