Câu hỏi ngắn: sử dụng đường dẫn SVG, chúng ta có thể vẽ 99,99% hình tròn và nó hiển thị, nhưng khi nó là 99.99999999% hình tròn thì hình tròn sẽ không hiển thị. Làm thế nào nó có thể được cố định?
Đường dẫn SVG sau đây có thể vẽ 99,99% của một vòng tròn: (hãy thử trên http://jsfiddle.net/DFhUF/1381/ và xem nếu bạn thấy 4 cung hoặc chỉ 2 cung, nhưng lưu ý rằng nếu đó là IE, thì đó là được hiển thị trong VML, không phải SVG, nhưng có vấn đề tương tự)
M 100 100 a 50 50 0 1 0 0.00001 0
Nhưng khi nó là 99.99999999% của một vòng tròn, thì không có gì sẽ hiển thị cả?
M 100 100 a 50 50 0 1 0 0.00000001 0
Và điều đó cũng tương tự với 100% hình tròn (nó vẫn là một vòng cung, không phải vậy, chỉ là một vòng cung rất hoàn chỉnh)
M 100 100 a 50 50 0 1 0 0 0
Làm thế nào mà có thể được sửa chữa? Lý do là tôi sử dụng một hàm để vẽ tỷ lệ phần trăm của một cung và nếu tôi cần "trường hợp đặc biệt" một cung 99,9999% hoặc 100% để sử dụng hàm vòng tròn, điều đó thật là ngớ ngẩn.
Một lần nữa, một trường hợp thử nghiệm trên jsfiddle sử dụng RaphaelJS có tại http://jsfiddle.net/DFhUF/1381/
(và nếu đó là VML trên IE 8, ngay cả vòng tròn thứ hai sẽ không hiển thị ... bạn phải đổi nó thành 0,01)
Cập nhật:
Điều này là do tôi đang hiển thị một vòng cung cho điểm trong hệ thống của chúng tôi, vì vậy 3,3 điểm nhận được 1/3 vòng tròn. 0,5 được nửa vòng tròn và 9,9 điểm nhận được 99% vòng tròn. Nhưng nếu có điểm 9,99 trong hệ thống của chúng tôi thì sao? Tôi có phải kiểm tra xem nó có gần 99,999% của một vòng tròn không, và sử dụng một arc
chức năng hoặc một circle
chức năng tương ứng? Vậy còn điểm 9,9987 thì sao? Nên dùng cái nào? Thật lố bịch khi cần biết loại điểm nào sẽ ánh xạ tới "vòng tròn quá hoàn chỉnh" và chuyển sang chức năng vòng tròn và khi đó là "99,9%" nhất định của vòng tròn hoặc điểm 9,9987, sau đó sử dụng chức năng cung tròn .