• Raphael 目标点沿路径不断移动


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>Raphaël · Gear</title>
    <link rel="stylesheet" href="demo.css" media="screen">
    <link rel="stylesheet" href="demo-print.css" media="print">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
    <script src="scripts/raphael.js"></script>
    <script>
    Raphael("holder", 640, 480, function () {
    var r = this,
    //p = r.path("M295.186,122.908c12.434,18.149,32.781,18.149,45.215,0l12.152-17.736c12.434-18.149,22.109-15.005,21.5,6.986l-0.596,21.49c-0.609,21.992,15.852,33.952,36.579,26.578l20.257-7.207c20.728-7.375,26.707,0.856,13.288,18.29l-13.113,17.037c-13.419,17.434-7.132,36.784,13.971,43.001l20.624,6.076c21.103,6.217,21.103,16.391,0,22.608l-20.624,6.076c-21.103,6.217-27.39,25.567-13.971,43.001l13.113,17.037c13.419,17.434,7.439,25.664-13.287,18.289l-20.259-7.207c-20.727-7.375-37.188,4.585-36.578,26.576l0.596,21.492c0.609,21.991-9.066,25.135-21.5,6.986L340.4,374.543c-12.434-18.148-32.781-18.148-45.215,0.001l-12.152,17.736c-12.434,18.149-22.109,15.006-21.5-6.985l0.595-21.492c0.609-21.991-15.851-33.951-36.578-26.576l-20.257,7.207c-20.727,7.375-26.707-0.855-13.288-18.29l13.112-17.035c13.419-17.435,7.132-36.785-13.972-43.002l-20.623-6.076c-21.104-6.217-21.104-16.391,0-22.608l20.623-6.076c21.104-6.217,27.391-25.568,13.972-43.002l-13.112-17.036c-13.419-17.434-7.439-25.664,13.288-18.29l20.256,7.207c20.728,7.374,37.188-4.585,36.579-26.577l-0.595-21.49c-0.609-21.992,9.066-25.136,21.5-6.986L295.186,122.908z").attr({stroke: "#666", opacity: .3, "stroke-width": 10}),
    p = r.path('M 20,170 c130,40,180,150,260,190 z').attr({stroke: "#666", opacity: .3, "stroke-width": 10});
    over = r.path().attr({stroke: "#fff"}),
    len = p.getTotalLength(),

    //移动的小点
    e = r.ellipse(0, 0, 7, 3).attr({stroke: "none", fill: "#a34e37"}).onAnimation(function () {
    //var t = this.attr("transform");
    //over.attr({path: "M316,248L" + t[0][1] + "," + t[0][2] + "z"});
    });
    //r.circle(316, 248, 5).attr({stroke: "none", fill: "#fff"});
    r.customAttributes.along = function (v) {
    var point = p.getPointAtLength(v * len);
    return {
    transform: "t" + [point.x, point.y] + "r" + point.alpha
    };
    };
    e.attr({along: 0});

    var rotateAlongThePath = true;
    function run() {
    e.animate({along: 1}, 2e3, function () {
    e.attr({along: 0});
    setTimeout(run);
    });
    }
    run();


    // logo

    });
    </script>
    </head>
    <body>
    <div id="holder" style="background-color: #f0f0f0;"></div>
    </body>
    </html>

  • 相关阅读:
    Android为TV端助力 转载:RecyclerView分页加载
    Android 最简单的测试UI卡顿
    Android为TV端助力 使用shared注意事项
    Android为TV端助力 电影栏目移动到底部或者顶部时抖动动画
    Android为TV端助力转载:码农小阿飞(SpannableString)
    Android为TV端助力 监听APK卸载,替换,完成的广播
    Android 为TV端助力
    Android为TV端助力 进制互相转换
    Android为TV端助力linux命令
    Android为TV端助力 集成第三方播放器,实现全屏播放
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/4612630.html
Copyright © 2020-2023  润新知