Raphaël : Spinner 그래픽에 반 애니메이션 텍스트 추가 시도

017 블루 필드

Spinner 그래픽에 텍스트 문자열을 추가하려고합니다. 예를 들어, 아래 , 또는 스피너 휠 내부에 텍스트를 배치 할 수 있기를 원합니다 . 문제는 어떻게해야할지 모르겠다는 것입니다. 또한 텍스트 자체 만 반 애니메이션화하고 싶습니다 (너무 많이 애니메이션하면 사용자가 읽을 수 없을 수도 있음).

스피너 코드 (JavaScript> Raphaël) :

window.onload = function () {
    function spinner(holderid, R1, R2, count, stroke_width, color) {
        var sectorsCount = count || 12,
            color = color || "#fff",
            width = stroke_width || 15,
            r1 = Math.min(R1, R2) || 35,
            r2 = Math.max(R1, R2) || 60,
            cx = r2 + width,
            cy = r2 + width,
            r = Raphael(holderid, r2 * 2 + width * 2, r2 * 2 + width * 2),

            sectors = [],
            opacity = [],
            beta = 2 * Math.PI / sectorsCount,

            pathParams = {
                stroke: color,
                "stroke-width": width,
                "stroke-linecap": "round"
            };
        Raphael.getColor.reset();
        for (var i = 0; i < sectorsCount; i++) {
            var alpha = beta * i - Math.PI / 2,
                cos = Math.cos(alpha),
                sin = Math.sin(alpha);
            opacity[i] = 1 / sectorsCount * i;
            sectors[i] = r.path([
                ["M", cx + r1 * cos, cy + r1 * sin],
                ["L", cx + r2 * cos, cy + r2 * sin]
            ]).attr(pathParams);
            if (color == "rainbow") {
                sectors[i].attr("stroke", Raphael.getColor());
            }
        }
        var tick;
        (function ticker() {
            opacity.unshift(opacity.pop());
            for (var i = 0; i < sectorsCount; i++) {
                sectors[i].attr("opacity", opacity[i]);
            }
            r.safari();
            tick = setTimeout(ticker, 1000 / sectorsCount);
        })();
        return function () {
            clearTimeout(tick);
            r.remove();
        };
    }
    spinner("holder", 0, 120, 17, 2, "#000");
    // spinner("holder", -120, 120, 17, 2, "#005075"); Second spinner inserted above first spinner
};

원하는 결과의 모형 (HTML)

<div>
    <!-- .placeholder is where the main Loading graphic (or animation) appears -->
    <div class="placeholder"></div>

    <!-- .text is where the Loading text appears: -->
    <!-- next to the graphic, vertically aligned to the middle -->
    <div class="text">loading</div>
</div>
Rob Schmuecker

제공하는 데모에서 2 개의 라이브러리를 혼합하고 있으며, 스피너는 Raphael이고 로딩 텍스트는 jQuery입니다. 나는 여기에 두 가지의 조합을 만들었습니다 -http : //jsfiddle.net/robschmuecker/vM9uk/13/- 이것은이 HTML의 조합입니다.

<div class="box">
    <!-- .placeholder is where the main Loading graphic (or animation) appears -->
    <div class="placeholder"></div>
    <!-- .text is where the Loading text appears: next to the graphic -->
    <div class="text">loading <span class="dot">.</span>
 <span class="dot">.</span>
 <span class="dot">.</span>

    </div>
</div>

이 JavaScript는 RaphaelJS와 jQuery를 모두 포함했습니다.

$(document).ready(function () {
    var firstDot = $(".dot:first-of-type");
    var midDot = $(".dot:nth-of-type(2)");
    var lastDot = $(".dot:last-of-type");
    firstDot.hide();
    midDot.hide();
    lastDot.hide();
    $(".placeholder,.text").hide().fadeIn(1000, function () {
        var interv = 0;
        interv = setInterval(function () {
            firstDot.fadeIn(250, function () {
                midDot.fadeIn(250, function () {
                    lastDot.fadeIn(250);
                });
            }).delay(1000).fadeOut(250, function () {
                midDot.fadeOut(250, function () {
                    lastDot.fadeOut(250);
                });
            });
        }, 3000)
    });
});

그런 다음 로딩 텍스트와 스피너의 위치를 ​​조작하는 간단한 CSS가 있습니다. 그러나 이것은 RaphaelJS와 jQuery를 모두로드해야하기 때문에 이상적이지 않을 수 있습니다. 순수한 RaphaelJS에서도이 작업을 수행 할 수 있습니다. : 여기에 기준을 살펴 가지고 http://raphaeljs.com/reference.html 의 아이디어를 얻을 수 및 데모 무엇을 당신이 원하는합니다. 예를 들어, 여기에서는 스피너 중간에 간단한 텍스트 요소를 추가하고 연속 루프에서 페이드 인 / 아웃합니다. (데모 : http://jsfiddle.net/robschmuecker/vM9uk/14/ )

tempText = r.text(R2, R2, "Loading ...");
        function fadeTextOut(){
            tempText.animate({opacity: 0}, 2500, fadeTextIn);
        }
        function fadeTextIn(){
            tempText.animate({opacity: 1}, 2500, fadeTextOut);
        }
        fadeTextOut();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jquery 추가 텍스트에 대한 애니메이션

분류에서Dev

JS 애니메이션 텍스트에 지연을 추가 하시겠습니까?

분류에서Dev

kivy의 속도계에 애니메이션 추가 시도

분류에서Dev

xml 권한 추가에도 불구하고 일반 텍스트 트래픽을 허용하지 않는 Android 앱

분류에서Dev

가로 스크롤 시스템에 슬라이드 애니메이션 추가

분류에서Dev

지도 마커 각도 agm에 펄스 애니메이션 효과 추가

분류에서Dev

애니메이션을 시작할 때 CSS 테두리가 텍스트를 아래로 이동합니다.

분류에서Dev

일반 텍스트에 링크가 추가 된 선택한 텍스트를 복사 하시겠습니까?

분류에서Dev

이미지 위의 그래픽 컨텍스트에 여러 난수 추가

분류에서Dev

클래스를 추가하여 텍스트 요소에 애니메이션을 적용하고 클래스를 제거하여 초기 색상으로 다시 애니메이션 적용

분류에서Dev

스크롤의 요소에 여러 클래스 추가 및 제거, 애니메이션 반전

분류에서Dev

동적으로 추가 된 자바 스크립트를 반복에서 애니메이션을 중지

분류에서Dev

다른 TextView에서 텍스트가 변경되면 TextView 텍스트 애니메이션이 다시 시작됩니다.

분류에서Dev

Raphaël.js 이미지 요소에 페이드 인 효과 추가 문제

분류에서Dev

애니메이션 리버스를 위해 동적으로 클래스를 추가하는 반응

분류에서Dev

애니메이션을 사용하여 iPhone 시작 화면에 두 개의 텍스트를 추가하는 방법

분류에서Dev

애니메이션을 사용하여 iPhone 시작 화면에 두 개의 텍스트를 추가하는 방법

분류에서Dev

자바 JDA 불화 애플 리케이션 -받은 메시지에 반응을 추가 할 수 없습니다

분류에서Dev

CryptoStream의 시작 부분에 일반 텍스트 바이트를 추가 하시겠습니까?

분류에서Dev

JavaFX 테이블 메뉴 버튼 목록에는 텍스트가 표시되지만 그래픽은 표시되지 않습니다.

분류에서Dev

두 개의 html 태그 사이에 텍스트 가져 오기 : Python 웹 스크래핑 (결과 세트 반복시 텍스트가 생략 됨)

분류에서Dev

jQuery-마우스 오버시 텍스트를 아래로 애니메이션

분류에서Dev

애니메이션을 스 태거하고 각 반복에서 동시에 두 애니메이션을 트리거하는 방법

분류에서Dev

컨트롤러에서 div에 애니메이션 클래스 추가

분류에서Dev

$ routeChangeStart에 CSS 클래스를 추가해도 애니메이션이 트리거되지 않습니다 (setTimeout에없는 경우).

분류에서Dev

CSS 애니메이션 클래스가 이미로드되면 다시로드하도록

분류에서Dev

김프에서 애니메이션 .gif에 텍스트를 어떻게 추가합니까?

분류에서Dev

김프에서 애니메이션 .gif에 텍스트를 어떻게 추가합니까?

분류에서Dev

텍스트의 각 단어에 페이드 인 애니메이션을 추가하는 방법

Related 관련 기사

  1. 1

    jquery 추가 텍스트에 대한 애니메이션

  2. 2

    JS 애니메이션 텍스트에 지연을 추가 하시겠습니까?

  3. 3

    kivy의 속도계에 애니메이션 추가 시도

  4. 4

    xml 권한 추가에도 불구하고 일반 텍스트 트래픽을 허용하지 않는 Android 앱

  5. 5

    가로 스크롤 시스템에 슬라이드 애니메이션 추가

  6. 6

    지도 마커 각도 agm에 펄스 애니메이션 효과 추가

  7. 7

    애니메이션을 시작할 때 CSS 테두리가 텍스트를 아래로 이동합니다.

  8. 8

    일반 텍스트에 링크가 추가 된 선택한 텍스트를 복사 하시겠습니까?

  9. 9

    이미지 위의 그래픽 컨텍스트에 여러 난수 추가

  10. 10

    클래스를 추가하여 텍스트 요소에 애니메이션을 적용하고 클래스를 제거하여 초기 색상으로 다시 애니메이션 적용

  11. 11

    스크롤의 요소에 여러 클래스 추가 및 제거, 애니메이션 반전

  12. 12

    동적으로 추가 된 자바 스크립트를 반복에서 애니메이션을 중지

  13. 13

    다른 TextView에서 텍스트가 변경되면 TextView 텍스트 애니메이션이 다시 시작됩니다.

  14. 14

    Raphaël.js 이미지 요소에 페이드 인 효과 추가 문제

  15. 15

    애니메이션 리버스를 위해 동적으로 클래스를 추가하는 반응

  16. 16

    애니메이션을 사용하여 iPhone 시작 화면에 두 개의 텍스트를 추가하는 방법

  17. 17

    애니메이션을 사용하여 iPhone 시작 화면에 두 개의 텍스트를 추가하는 방법

  18. 18

    자바 JDA 불화 애플 리케이션 -받은 메시지에 반응을 추가 할 수 없습니다

  19. 19

    CryptoStream의 시작 부분에 일반 텍스트 바이트를 추가 하시겠습니까?

  20. 20

    JavaFX 테이블 메뉴 버튼 목록에는 텍스트가 표시되지만 그래픽은 표시되지 않습니다.

  21. 21

    두 개의 html 태그 사이에 텍스트 가져 오기 : Python 웹 스크래핑 (결과 세트 반복시 텍스트가 생략 됨)

  22. 22

    jQuery-마우스 오버시 텍스트를 아래로 애니메이션

  23. 23

    애니메이션을 스 태거하고 각 반복에서 동시에 두 애니메이션을 트리거하는 방법

  24. 24

    컨트롤러에서 div에 애니메이션 클래스 추가

  25. 25

    $ routeChangeStart에 CSS 클래스를 추가해도 애니메이션이 트리거되지 않습니다 (setTimeout에없는 경우).

  26. 26

    CSS 애니메이션 클래스가 이미로드되면 다시로드하도록

  27. 27

    김프에서 애니메이션 .gif에 텍스트를 어떻게 추가합니까?

  28. 28

    김프에서 애니메이션 .gif에 텍스트를 어떻게 추가합니까?

  29. 29

    텍스트의 각 단어에 페이드 인 애니메이션을 추가하는 방법

뜨겁다태그

보관