代码之家  ›  专栏  ›  技术社区  ›  Barrie Reader

jQuery函数在Chrome中不起作用:/

  •  2
  • Barrie Reader  · 技术社区  · 14 年前

    邮编在这里: (链接已断开)

    一切 有效,但镀铬 仍然


    好吧,从技术上讲是的。

    $(document).ready(function() {
                function resizeIt() {
                    var extDiv = $('#externalWrapper').height();
                    var wrapper1 = $('#wrapper1').height();
                    var wrapper2 = $('#wrapper2').height();
                    var wrapper3 = $('#wrapper3').height();
    
                    $('#wrapper1-mid').css({'height':extDiv - ($('#wrapper1-top').height()+$('#wrapper1-bottom').height())-4});
                    $('#wrapper2').css({'marginTop':extDiv-wrapper2});
                    $('#wrapper3-mid').css({'height':extDiv -($('#wrapper3-top').height()+$('#wrapper3-bottom').height())+1});
    
                    if($('ul#related-linklist > li').size() > 15) {
                        $('#spacer').attr({'height':(wrapper2-250)});
                        $('#product-image').css({
                            'marginTop':0,
                            'marginLeft':0
                        });
                    }
                }
                resizeIt();
            });
    

    这就是我的代码,在Chrome中,它根本不能正确地调整边距/高度。但在狩猎中效果很好。。

    IE/Firefox不受影响。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Mottie    14 年前

    更新:您的回答是正确的,不需要在值的末尾添加'px'。但我已经更新了下面的代码 window.load 我想这可能就是问题所在。

    css 你应该包括 px height 属性,应该是 css格式 (未经测试):

    $(window).load(function() {
            function resizeIt() {
                var extDiv = $('#externalWrapper').height();
                var wrapper1 = $('#wrapper1').height();
                var wrapper2 = $('#wrapper2').height();
                var wrapper3 = $('#wrapper3').height();
    
                $('#wrapper1-mid').css({'height':extDiv - ($('#wrapper1-top').height()+$('#wrapper1-bottom').height())-4 + 'px' });
                $('#wrapper2').css({'marginTop':extDiv-wrapper2 + 'px' });
                $('#wrapper3-mid').css({'height':extDiv -($('#wrapper3-top').height()+$('#wrapper3-bottom').height())+1 + 'px' });
    
                if($('ul#related-linklist > li').size() > 15) {
                    $('#spacer').css({'height':(wrapper2-250) + 'px' });
                    $('#product-image').css({
                        'marginTop':0,
                        'marginLeft':0
                    });
                }
            }
            resizeIt();
        });
    
        2
  •  0
  •   RickF    14 年前

    <img> 元素,额外的 <html> 在顶部,多个元素共享同一id。您还有一个 <div> 嵌套在 <span>

    http://infohound.net/tidy/ 是验证和清理HTML的有用工具。

        3
  •  0
  •   Jason    14 年前

    我注意到,在Chrome中,有些东西的位置有点偏离,这很可能是因为WebKit渲染引擎。我过去所做的就是嗅探Chrome并向任何受影响的对象添加一个自定义类(“Chrome”或“webkit”之类的),然后编写特定于这些对象的代码。

    不可否认,这个想法 ,但如果您现在需要这个工作,这是一个合理的解决方法/黑客。