По какой-то причине это работает во всех основных браузерах, но не в IE (удивление, удивление).
$(function() {
var stickyDiv = $('#js-sticky-wrap'); // div to clone
var clonedCss = 'js-sticky-fix'; // css class with fixed positioning
stickyContainer(stickyDiv, clonedCss);
function stickyContainer(stickyDiv, clonedCss, clonedWidth) {
if (clonedWidth === undefined) { // use original container width
var clonedWidth = $(stickyDiv).width();
}
var menuTop = stickyDiv.offset().top; // Capture visible content height
var menuClone = stickyDiv.clone(true).addClass(clonedCss); // Clone current div, apply fixed style
var dropShadow = $('<div class="js-drop-shadow"></div>').hide();
// Append dropshadow style
stickyDiv.append(dropShadow);
$(window).bind('scroll', function() {
var scrollY = window.pageYOffset; // get total px from vertical scroll
if (scrollY > menuTop) { // they scrolled > than the original offset
if (menuClone.parent().length === 0) {
stickyDiv.addClass(clonedCss).width(clonedWidth);
menuClone.after(stickyDiv.parent());
dropShadow.show();
}
} else {
stickyDiv.removeClass(clonedCss);
dropShadow.hide();
menuClone.remove();
}
});
}
});
Пример для jsfiddle
Есть ли метод, который просто не поддерживается в IE, который я использую?Кажется, я не могу это объяснить, поскольку я не получаю никаких ошибок в инструментах разработчика.