pracuję nad scenariuszem, który pozwala użytkownikowi rysować za pomocą myszy: http://jsfiddle.net/ujMGu/Jak zapobiec szybkiemu ruchowi myszy przed przerwaniem linii w mojej aplikacji do rysowania?
Problem: Jeśli przesuniesz myszkę bardzo szybko to szarpie i pomija kilka miejsc. Czy istnieje sposób na uchwycenie wszystkich punktów bez pomijania czarnych pól pomiędzy linią rysunku?
CSS
#myid{background: none repeat scroll 0 0 #000000;
color: #FFFFFF;
display: block;
height: 1000px;
margin: 3%;
position: relative;
text-indent: -1100px;}
JS/JQ
$('#myid')
.css('position','relative')
.unbind().die()
.bind('mousemove mouseover',function (e){
var top = parseInt(e.pageY)-$(this).offset().top;
var left= parseInt(e.pageX)-$(this).offset().left;
var pixel= $('<div></div>')
.css({
width:10,height:10,
background: '#fff',
position:'absolute',
top: top, left: left,
'border-radius': 2
});
$(this).append(pixel);
});
HTML
<div id="myid"></div>
Prawdopodobnie zły pomysł, aby to zrobić z div; rozważ zamiast tego użycie płótna. Większość przeglądarek będzie działała szybciej na płótnie niż divy, ponieważ div wymagają raczej manipulacji DOM niż zwykłego malowania rastrowego. –
Malowanie w ten sposób (używanie znaczników div jako pikseli) jest dość ograniczone. Jakie są Twoje wymagania i jakie wsparcie dla przeglądarki potrzebujesz? Czy jest jakiś powód, aby użyć tej metody zamiast (powiedzmy) płótna? –
coz im mało znany z płótna, i potrzebuję czegoś prostego, więc mogę wysłać to do innych osób w skomplikowany sposób, jako nakładkę/maskę na coś innego, co jest za nim. – Val