自定义Javascript无法在Chrome中运行

时间:2015-01-24 21:50:38

标签: javascript jquery css google-chrome

浏览了很多,摆弄了很多。得出结论,其他人可能会看到我不知道的错误。

代码应该根据窗口高度,侧边栏高度,内容高度等移动侧边栏。

这是代码:

$(document).ready(function() {
    var windowheight = $(window).height();
    var identheight = $(".ident").height();
    var sidebarheight = $(".sidebar").height();
    var mainheight = $(".main").height();
    var pos = $(window).scrollTop();
    var diff = (((sidebarheight + 20) + identheight) - windowheight);
    var cur = ((sidebarheight + 20) + (pos - diff)) - 2;
    var max = (mainheight + 30);
    contentScroll();
$(window).resize(function(){
    windowheight = $(window).height();
    identheight = $(".ident").height();
    sidebarheight = $(".sidebar").height();
    mainheight = $(".main").height();
    pos = $(window).scrollTop();
    diff = (((sidebarheight + 20) + identheight) - windowheight);
    cur = (sidebarheight + 20) + (pos - diff);
    max = (mainheight + 30);
    contentScroll();
});
$(window).scroll(function (){
    pos = $(window).scrollTop();
    diff = (((sidebarheight + 20) + identheight) - windowheight);
    cur = (sidebarheight + 20) + (pos - diff);
    max = (mainheight + 30);
    contentScroll();
});
function contentScroll() {
if (sidebarheight < mainheight) {
        if (diff < identheight) {
            if (pos >= identheight) {
                $('.sidebar').css({
                    'margin-top'    :   (pos - identheight) + 'px'
                });
            }
        } else {
            if (pos >= diff && cur <= max) {
                $('.sidebar').css({
                    'margin-top'    :   (pos - diff) + 'px'
                });
            }
            if (pos <= diff) {
                $('.sidebar').css({
                    'margin-top'    :   '0px'
                });
            }
        }
    }
}
});

我意识到它并不完美,它还处于粗糙的阶段。它在FireFox中完全正常,但不在chrome中。正在调用该函数(使用警报进行测试)。它没有做任何事情。

可能有些chrome阅读语法不同。

如果有人发现我的错误会引起我的注意,那么对我来说,对此持续开头已经太久了。

这是有问题的模拟网站:http://klok-bremen.de/fff/

1 个答案:

答案 0 :(得分:1)

使用$(window).load而不是$(document).ready,因为父元素&#39;图像加载后高度会发生变化。