0

私はこのコードを持っています:

if(scrollTop < header.orgOffset) {
            document.getElementById('log').style.display = 'none';
            document.getElementById('lista').style.float = 'none';
            document.getElementById('lista').style.marginLeft = 'auto';
            header.element.css('background-color', 'transparent').css('width', '100%').css("box-shadow", "none").css('position', orgCSS.position).css('top','').prev().remove();
            if(i > 0)
                headers[i-1].element.css('z-index', 100);
        }
    }

    //stick headers
    for(i in headers) {
        var header = headers[i];
        //make sure any stuck headers are stuck in the right place(fast scrolling sometimes messes this up)
        if(isStuck(header))
            header.element.css('top','0')

        //skip this header if its bellow the top of the window
        if(scrollTop < header.orgOffset - parseInt(orgCSS.height)) 
            break;

        //if the header is already stuck then ignore it            
        if(!isStuck(header)) {
            if(scrollTop > header.orgOffset) {
                //stick the header
                document.getElementById('log').style.display = 'block';
                document.getElementById('lista').style.float = 'left';
                document.getElementById('lista').style.marginLeft = '20px';
                header.element.css("left", "0px").css("box-shadow", "0 0 5px #000").css('background-color', '#FFF').css('width', '100%').css('position', 'fixed').css('z-index','100').css('top','0').before('<div class=menu> </div>');
                if(i > 0)
                    headers[i-1].element.css('z-index', -1);

これは、私のページのスティッキーヘッダーで機能します。ただし、float属性を左に変更してからnoneに戻すと、Firefoxでは機能しません。他のすべては正常に機能し、クロム、ロックメルト、サファリでも正常に機能します。

4

1 に答える 1

0

FirefoxcssFloatの代わりにスタイル プロパティとして使用する必要があります。これこれfloatを参照できます。

document.getElementById('lista').style.cssFloat = 'left';
于 2012-12-22T08:00:59.047 に答える