D3 슬라이더를 사용하여 속성 변경

쌍곡선

슬라이더를 통해 원의 색상 속성을 변경하려고합니다. 첫째,이 함수를 호출 RGB의 R 값입니다.drawCircle(red)red

function drawCircle(red) {
            var circ = svg.selectAll(".circle")
                        .enter().append("circle")
                        .attr("cx", 100)
                        .attr("cy", 100)
                        .attr("r", 20)
                        .style("fill",  d3.rgb(red, 0, 0));
        }

        // Initial values on page load
        drawCircle(100);

이것은 잘 작동하지만 이제 슬라이더를 통해 빨간색 구성 요소를 0에서 255로 변경하고 싶습니다. 그래서이 예제 에서 슬라이더를 만들었습니다 .

    var sliderScale = d3.scaleLinear()
    .domain([0, 255]) // Red component goes from 0 to 255
    .range([0, 200]) // Width of slider is 200 px
    .clamp(true);

    var slider = svg.append("g")
    .attr("class", "slider")
    .attr("transform", "translate(" + 600 + "," + 200 + ")");

    slider.append("line")
    .attr("class", "track")
    .attr("x1", sliderScale.range()[0])
    .attr("x2", sliderScale.range()[1])
    .select(function() { return 
     this.parentNode.appendChild(this.cloneNode(true)); })
    .attr("class", "track-inset")
    .select(function() { return 
    this.parentNode.appendChild(this.cloneNode(true)); })
    .attr("class", "track-overlay")
    .call(d3.drag()
        .on("start.interrupt", function() { slider.interrupt(); })
        .on("start drag", function() { changeRed(sliderScale.invert(d3.event.x)); }));

    var handle = slider.insert("circle", ".track-overlay")
    .attr("class", "handle")
    .attr("r", 9);

    function changeRed(h) {
        handle.attr("cx", sliderScale(h));
        drawCircle(h);
    }

슬라이더를 움직일 수 있지만 색상에 변화가 없습니다.

미하일 샤브리 코프

코드를 리팩토링했습니다. 그리고 jsfiddle- https : //jsfiddle.net/kdj9xq98/에 올려 놓으십시오 .

var svg = d3.select('#root').append('svg')
.attr('width', 400)
.attr('height', 400);

var circ = svg.append("circle")
  .attr("cx", 100)
  .attr("cy", 100)
  .attr("r", 20);

function fillCircle(red) {
  circ.style("fill", d3.rgb(red, 0, 0));
}

// Initial values on page load
fillCircle(100);

var sliderScale = d3.scaleLinear()
  .domain([0, 255]) // Red component goes from 0 to 255
  .range([0, 200]) // Width of slider is 200 px
  .clamp(true);

var slider = svg.append("g")
  .attr("class", "slider")
  .attr("transform", "translate(" + 13 + "," + 200 + ")");

slider.append("line")
  .attr("class", "track")
  .attr("x1", sliderScale.range()[0])
  .attr("x2", sliderScale.range()[1])
  .select(function() {
    return this.parentNode;
  })
  .append("line")
  .attr("x1", sliderScale.range()[0])
  .attr("x2", sliderScale.range()[1])
  .attr("class", "track-inset")
  .select(function() {
    return this.parentNode;
  })
  .append("line")
  .attr("x1", sliderScale.range()[0])
  .attr("x2", sliderScale.range()[1])
  .attr("class", "track-overlay")
  .call(d3.drag()
    .on("start.interrupt", function() {
      slider.interrupt();
    })
    .on("start drag", function() {
      changeRed(sliderScale.invert(d3.event.x));
    }));

var handle = slider.insert("circle", ".track-overlay")
  .attr("class", "handle")
  .attr("r", 9);

function changeRed(h) {
  handle.attr("cx", sliderScale(h));
  fillCircle(h);
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

csv 열을 변경하는 d3 슬라이더

분류에서Dev

Drupal 7에서 JQuery를 사용하여 배경 이미지 CSS 속성을 변경하여 슬라이드 쇼

분류에서Dev

간단한 슬라이더를 사용하여 add_period_callback ()에서 "periodic_milliseconds"속성을 어떻게 변경할 수 있습니까?

분류에서Dev

D3에서 하위 클래스의 속성 변경

분류에서Dev

CSS3 배경 크기 커버를 사용하기 위해 Duotive 슬라이더를 변경하는 방법

분류에서Dev

React를 사용하여 D3.js에서 화면 크기를 조정할 때 cx 및 cy 속성 변경

분류에서Dev

jquery를 사용하여 td의 배경 속성 변경

분류에서Dev

d3 슬라이더 패키지 속성 슬라이더가 'typesof d3'유형에 없습니다.

분류에서Dev

D3를 사용하여 마우스 오버시 요소 크기 변경

분류에서Dev

jQuery를 사용하여 지연이있는 CSS 속성 변경

분류에서Dev

jQuery를 사용하여 지연이있는 CSS 속성 변경

분류에서Dev

jquery를 사용하여 이름 속성 값 변경

분류에서Dev

jquery 및 textarea를 사용하여 속성에 따라 태그 이름 변경

분류에서Dev

css3 애니메이션 키 프레임을 사용하여 슬라이더를 계속합니다.

분류에서Dev

xslt를 사용하여 산술 연산을 사용하여 속성 값 변경

분류에서Dev

jquery를 사용한 CSS3 슬라이더 생성자

분류에서Dev

내부 CSS를 사용하여 드롭 다운 속성 변경

분류에서Dev

JavaScript Observer 메서드를 사용하여 aria 속성 값 변경

분류에서Dev

linq를 사용하여 목록의 속성 변경

분류에서Dev

LINQ를 사용하여 목록의 개체 속성 변경

분류에서Dev

CSS를 사용하여 가져온 SVG의 속성 변경

분류에서Dev

jquery를 사용하여 href 속성 변경

분류에서Dev

jquery를 사용하여 속성 값 변경

분류에서Dev

PHP를 사용하여 svg 채우기 속성 값 변경

분류에서Dev

PHP를 사용하여 HTML 속성 또는 스타일 변경

분류에서Dev

DOM을 사용하여 태그의 속성 이름 값 변경

분류에서Dev

d3의 변수에 SVG 속성 사용

분류에서Dev

ScalaJS를 사용하여 JSON에서 D3 트리 생성

분류에서Dev

Jquery UI : 슬라이더를 사용하여 요소 불투명도 변경

Related 관련 기사

  1. 1

    csv 열을 변경하는 d3 슬라이더

  2. 2

    Drupal 7에서 JQuery를 사용하여 배경 이미지 CSS 속성을 변경하여 슬라이드 쇼

  3. 3

    간단한 슬라이더를 사용하여 add_period_callback ()에서 "periodic_milliseconds"속성을 어떻게 변경할 수 있습니까?

  4. 4

    D3에서 하위 클래스의 속성 변경

  5. 5

    CSS3 배경 크기 커버를 사용하기 위해 Duotive 슬라이더를 변경하는 방법

  6. 6

    React를 사용하여 D3.js에서 화면 크기를 조정할 때 cx 및 cy 속성 변경

  7. 7

    jquery를 사용하여 td의 배경 속성 변경

  8. 8

    d3 슬라이더 패키지 속성 슬라이더가 'typesof d3'유형에 없습니다.

  9. 9

    D3를 사용하여 마우스 오버시 요소 크기 변경

  10. 10

    jQuery를 사용하여 지연이있는 CSS 속성 변경

  11. 11

    jQuery를 사용하여 지연이있는 CSS 속성 변경

  12. 12

    jquery를 사용하여 이름 속성 값 변경

  13. 13

    jquery 및 textarea를 사용하여 속성에 따라 태그 이름 변경

  14. 14

    css3 애니메이션 키 프레임을 사용하여 슬라이더를 계속합니다.

  15. 15

    xslt를 사용하여 산술 연산을 사용하여 속성 값 변경

  16. 16

    jquery를 사용한 CSS3 슬라이더 생성자

  17. 17

    내부 CSS를 사용하여 드롭 다운 속성 변경

  18. 18

    JavaScript Observer 메서드를 사용하여 aria 속성 값 변경

  19. 19

    linq를 사용하여 목록의 속성 변경

  20. 20

    LINQ를 사용하여 목록의 개체 속성 변경

  21. 21

    CSS를 사용하여 가져온 SVG의 속성 변경

  22. 22

    jquery를 사용하여 href 속성 변경

  23. 23

    jquery를 사용하여 속성 값 변경

  24. 24

    PHP를 사용하여 svg 채우기 속성 값 변경

  25. 25

    PHP를 사용하여 HTML 속성 또는 스타일 변경

  26. 26

    DOM을 사용하여 태그의 속성 이름 값 변경

  27. 27

    d3의 변수에 SVG 속성 사용

  28. 28

    ScalaJS를 사용하여 JSON에서 D3 트리 생성

  29. 29

    Jquery UI : 슬라이더를 사용하여 요소 불투명도 변경

뜨겁다태그

보관