3

我有以下使用标准 jquery、jscrollpane 和 raphael js 文件的源代码。文档就绪函数中的 javascript 应该在用于向上滚动的 .jspArrowUp 元素中绘制一个箭头。当我使用 firebug 时,svg 元素被添加到 .jspArrowUp 元素中,但是它是不可见的。我似乎无法弄清楚为什么。有人可以帮忙吗?

<html>
<head>
    <link rel="stylesheet" type="text/css" href="jquery.jscrollpane.css">
    <script src="jquery.js"></script>
    <script src="jscrollpane.js"></script>
    <script src="raphael-min.js"></script>
    <script>
        $(document).ready(function() {
            var ele = $(".scroll-pane").jScrollPane({showArrows:true});
            $(".jspArrowUp").each(function () {
                var paper = new Raphael(this);
                var xCenter = $(this).width()/2;
                var yCenter = $(this).height()/2;
                paper.path("M" + xCenter + " " + (yCenter + 2).toString() + "L" + (xCenter + 4).toString() + " " + (yCenter + 2).toString() + "L" + (xCenter + 2).toString() + " " + yCenter + "Z").attr("stroke", "#444").attr("fill", "#444");
            });
        });
    </script>
    <style>
    .scroll-pane
        {
            width: 100%;
            height: 200px;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div style="width: 300px;">
    <div class="scroll-pane">
            <p>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec in ligula id sem tristique ultrices
                eget id neque. Duis enim turpis, tempus at accumsan vitae, lobortis id sapien. Pellentesque nec orci
                mi, in pharetra ligula. Nulla facilisi. Nulla facilisi. Mauris convallis venenatis massa, quis
                consectetur felis ornare quis. Sed aliquet nunc ac ante molestie ultricies. Nam pulvinar ultricies
                bibendum. Vivamus diam leo, faucibus et vehicula eu, molestie sit amet dui. Proin nec orci et elit
                semper ultrices. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus
                mus. Sed quis urna mi, ac dignissim mauris. Quisque mollis ornare mauris, sed laoreet diam malesuada
                quis. Proin vel elementum ante. Donec hendrerit arcu ac odio tincidunt posuere. Vestibulum nec risus
                eu lacus semper viverra.
            </p>
            <p>
                Vestibulum dictum consectetur magna eu egestas. Praesent molestie dapibus erat, sit amet sodales
                lectus congue ut. Nam adipiscing, tortor ac blandit egestas, lorem ligula posuere ipsum, nec
                faucibus nisl enim eu purus. Quisque bibendum diam quis nunc eleifend at molestie libero tincidunt.
                Quisque tincidunt sapien a sapien pellentesque consequat. Mauris adipiscing venenatis augue ut
                tempor. Donec auctor mattis quam quis aliquam. Nullam ultrices erat in dolor pharetra bibendum.
                Suspendisse eget odio ut libero imperdiet rhoncus. Curabitur aliquet, ipsum sit amet aliquet varius,
                est urna ullamcorper magna, sed eleifend libero nunc non erat. Vivamus semper turpis ac turpis
                volutpat non cursus velit aliquam. Fusce id tortor id sapien porta egestas. Nulla venenatis luctus
                libero et suscipit. Sed sed purus risus. Donec auctor, leo nec eleifend vehicula, lacus felis
                sollicitudin est, vitae lacinia lectus urna nec libero. Aliquam pellentesque, arcu condimentum
                pharetra vestibulum, lectus felis malesuada felis, vel fringilla dolor dui tempus nisi. In hac
                habitasse platea dictumst. Ut imperdiet mauris vitae eros varius eget accumsan lectus adipiscing.
            </p>
            <p>
                Quisque et massa leo, sit amet adipiscing nisi. Mauris vel condimentum dolor. Duis quis ullamcorper
                eros. Proin metus dui, facilisis id bibendum sed, aliquet non ipsum. Aenean pulvinar risus eu nisi
                dictum eleifend. Maecenas mattis dolor eget lectus pretium eget molestie libero auctor. Praesent sit
                amet tellus sed nibh convallis semper. Curabitur nisl odio, feugiat non dapibus sed, tincidunt ut
                est. Nullam erat velit, suscipit aliquet commodo sit amet, mollis in mauris. Curabitur pharetra
                dictum interdum. In posuere pretium ultricies. Curabitur volutpat eros vehicula quam ultrices
                varius. Proin volutpat enim a massa tempor ornare. Sed ullamcorper fermentum nisl, ac hendrerit sem
                feugiat ac. Donec porttitor ullamcorper quam. Morbi pretium adipiscing quam, quis bibendum diam
                congue eget. Sed at lectus at est malesuada iaculis. Sed fermentum quam dui. Donec eget ipsum dolor,
                id mollis nisi. Donec fermentum vehicula porta.
            </p>
            <p>
                Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero
                sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
                Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed,
                commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
                ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis.
                Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna
                eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis
                luctus, metus
            </p>
            <p>
                Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit
                amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
            </p>
        </div>
        </div>
</body>
</html>
4

1 回答 1

1

SVG 元素在那里,但它不可见,因为text-indentclass 属性的值为负.jspArrow

注释text-indent文件中的属性jquery.jscrollpane.css(第 81 行):

.jspArrow
{
    background: #50506d;
    /*text-indent: -20000px;*/
    display: block;
    cursor: pointer;
}

或者覆盖 HTML 中的属性:

.jspArrow
{
    text-indent: 0;
}
于 2012-08-21T11:11:10.767 回答