ScrollLeft返回到设置位置,遗憾的是不能在Firefox上运行

时间:2013-07-05 14:46:57

标签: javascript jquery firefox scroll

function scrollX(){
    bodyWidthDif = 1100-parseFloat($('html').width());
    bodyScroll = $('#top').scrollLeft();
       if (bodyWidthDif > 0){
            //#top is ID of BODY style element <BODY id="top">
           $('#top').css({"overflow":"scroll","max-width":"1100px"});
           if(bodyScroll > bodyWidthDif){
               $('#top').scrollLeft(bodyWidthDif);
           };       
       }else{
            $('#top').css({"overflow-x":"hidden"});
       }
};
$(window).scroll(function() {
    scrollX();
});

我上面显示的代码有问题,它在FireFox中无法正常工作,但在IE10,Opera,Safari和Chrome上工作。代码旨在降低在分辨率低于1100px的屏幕上向左滚动到1100px的可能性;

1 个答案:

答案 0 :(得分:0)

问题已经解决了。

function scrollX(){
bodyScroll = $('body').scrollLeft(); //var for Opera Chrome and Safar
htmlScroll = $('html').scrollLeft(); //var for Firefox
if(htmlScroll >= bodyWidthDif){
    $('html').scrollLeft(bodyWidthDif);
};
if(bodyScroll >= bodyWidthDif){
    $('body').scrollLeft(bodyWidthDif);
};
};

但我利用了另一种解决方案 - 使用CSS很简单。

<body style="overflow: visible">
    <div style="overflow: hidden; width: 1100px; height: 2000px; position: absolute;">
    </div>
</body>