Javascript 画一些不需要的东西';t使用Raphael使用滚动条移动

Javascript 画一些不需要的东西';t使用Raphael使用滚动条移动,javascript,scroll,raphael,Javascript,Scroll,Raphael,我用拉斐尔画了一个图形。这个图形非常大,所以浏览器窗口显示了一个滚动条。现在,我希望图形的一部分保持静止,即使用户移动滚动条。这怎么可能呢? 此外,我想根据滚动条的位置更改图形(例如,在滚动条上显示x坐标)。这可能吗? 谢谢。这是我问题的答案。要保持图形的一部分不受滚动影响,请创建两个画布,一个用于应随滚动移动的部分,另一个用于静止部分。然后将第二块画布放入。 代码如下: <div id="part1"> <script type="text/javascript"&g

我用拉斐尔画了一个图形。这个图形非常大,所以浏览器窗口显示了一个滚动条。现在,我希望图形的一部分保持静止,即使用户移动滚动条。这怎么可能呢? 此外,我想根据滚动条的位置更改图形(例如,在滚动条上显示x坐标)。这可能吗?
谢谢。

这是我问题的答案。要保持图形的一部分不受滚动影响,请创建两个画布,一个用于应随滚动移动的部分,另一个用于静止部分。然后将第二块画布放入
。 代码如下:

<div id="part1">
    <script type="text/javascript">
        var paper1 = Raphael("part1", 1000, 200);
        // draw the figure
    </script>
</div>
<div id="part2" style="position: fixed">
    <script type="text/javascript">
        var paper2 = Raphael("part2", 1000, 200);
        // draw the figure
    </script>
</div>

var paper1=拉斐尔(“第1部分”,1000,200);
//画图
var paper2=拉斐尔(“第二部分”,1000,200);
//画图
请注意,此代码仅在图形的两个部分分开时有效。我不知道如果它们重叠,是否还能在两块画布上画出来

要根据滚动条的位置更改图形,请使用以下代码。getScrollX()函数是根据处的代码改编的


函数getScrollX(){
var-scrOfX=0;
if(typeof(window.pageYOffset)=“number”){
//网景兼容
scrOfX=window.pageXOffset;
}else if(document.body
&&(document.body.scrollLeft | | document.body.scrollTop)){
//DOM兼容
scrOfX=document.body.scrollLeft;
}else if(document.documentElement
&&(document.documentElement.scrollLeft | | document.documentElement.scrollTop)){
//IE6标准兼容模式
scrOfX=document.documentElement.scrollLeft;
}
返还外汇;
}
window.onscroll=函数(){
var x=getScrollX();
//改变数字
}

在CSS中,这是
position:fixed
。然而,我不知道这是如何翻译成拉斐尔的。您可能需要创建一个单独的图形覆盖第一个图形,但使用固定的定位。谢谢。我已经想出了第一个问题的答案。只需创建两张画布,并将其中一张放入
。至于第二个问题,经过一些搜索之后,似乎可以在javascript中获得滚动条的位置。明天将尝试。JavaScript有一个滚动事件-这可能是根据滚动条位置放置要更新的代码的最佳位置。@take-请发布您的答案,以便其他人可以从中受益。
<script type="text/javascript">
    function getScrollX() {
        var scrOfX = 0;
        if (typeof (window.pageYOffset) == 'number') {
            //Netscape compliant
            scrOfX = window.pageXOffset;
        } else if (document.body
                && (document.body.scrollLeft || document.body.scrollTop)) {
            //DOM compliant
            scrOfX = document.body.scrollLeft;
        } else if (document.documentElement
                && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
            //IE6 standards compliant mode
            scrOfX = document.documentElement.scrollLeft;
        }
        return scrOfX;
    }

    window.onscroll = function() {
        var x = getScrollX();
        // change the figure
    }
</script>