Създадох динамична таблица, която превърта наляво ивдясно, има преоразмеряващи се колони, има фиксирана заглавка и т.н. Тази таблица работи чудесно във ВСЕКИ браузър, който съм опитвал. Дори IE8 изглежда добре (липсващи функции, но все пак добре).
Този проблем възниква, когато се опитвам да видя таблицата в Safari 7.0.4 на моя Macbook.
Приложено е това, което трябва да изглежда (фиксираният хедър е отдолу за демонстрационни цели):
когато превъртате, фиксираната заглавка, тялото и фиксираната лента за превъртане са свързани чрез някаква jQuery scrollLeft()
функции (превъртете една, превъртете всички):
var tableHeaderSpace = $(".table-full-wrap-space"),
tableHeader = $(".table-full-wrap-header"),
tableBody = $(".table-full-wrap-body"),
tableScroll = $(".table-full-wrap-scroll");
tableScroll.bind("scroll", function() {
tableHeader.scrollLeft(tableScroll.scrollLeft());
tableBody.scrollLeft(tableScroll.scrollLeft());
});
tableHeader.bind("scroll", function() {
tableScroll.scrollLeft(tableHeader.scrollLeft());
tableBody.scrollLeft(tableHeader.scrollLeft());
});
tableBody.bind("scroll", function() {
tableScroll.scrollLeft(tableBody.scrollLeft());
tableHeader.scrollLeft(tableBody.scrollLeft());
});
$(window).bind("scroll", function() {
var tableHeaderOffset = tableHeaderSpace.offset().top;
if (this.pageYOffset >= tableHeaderOffset) {
tableHeader.addClass("isFixed");
} else {
tableHeader.removeClass("isFixed");
}
});
Отново, това работи чудесно ... но докато превъртате още малко надясно, браузърът започва да дублира съдържание в тази фиксирана заглавка:
Въпросът е, че не се дублира „действително“ съдържание - това е някакъв фрагментиращ браузър, който показва дубликати - без добавяне на елементи в DOM.
Следващата снимка е браузърът, който прави още "магия". в определени точки при хоризонтално превъртане, цветовете на цялата фиксирана заглавка се обръщат:
Не успях да направя моментна снимка от него, но той също веднъж дублира лентата "count count" под него.
Някой да има идеи какво се случва тук?Опитах се да дублирам това в jsFiddle, но без зарове. От това бих предположил, че това е проблем с моя код, но резултатите са само с ЕДИН конкретен браузър на mac (safari) и той прави някои СТРАННИ неща.
Последна бележка - тъй като не мога да репликирам това в jsFiddle, не съм сигурен как бих могъл да докладвам това на Apple (работещият (или "счупен") пример е собственост и не мога да дам достъп до него).
РЕДАКТИРАНЕ: тук е jsfiddle, където се опитах да дублирам проблема (много груб - но той е функционален):
Отговори:
0 за отговор № 1така че - знаех, че това няма да е горещ въпрос, но мислех, че все пак ще го продължа.
що се отнася до отговора, намерих някаква стара таблица css, която се припокриваше с новите ми неща - което от своя страна някак си объркваше сафарито толкова зле, че го фрагментираше.
предишен стар код: background: transparent;
нов код: background: #fff;
Това няма смисъл за мен, но докато някой друг излезе с хипотеза, ще отбележа това като отговор.
сега моят претендент номер едно за най-лошия браузър: сафари - внимавай, IE.