Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не устанавливается цвет через style (https://javascript.ru/forum/events/42489-ne-ustanavlivaetsya-cvet-cherez-style.html)

cyber 29.10.2013 13:54

И какие то непонятные подторможивания в хроме при перемещение, черт побери что они с хромом сделали...

cyber 30.10.2013 00:37

up, не могу найти решение хелп

danik.js 30.10.2013 01:02

setTimeout() тебя спасет!
Вобще. возьми на заметку такой финт - довольно часто выручает.

cyber 30.10.2013 01:21

danik.js,
не спас, я его изначально использовал, только забыл вернуть перед тем как демо первый раз выложить

danik.js 30.10.2013 01:43

Хром тридцатый на винде - работает (цвет меняется на середине)

<!DOCTYPE HTML>
<html>
  <head>
 
  <link rel='stylesheet' type='text/css' href='http://ru.lookatcode.com/show/5083176863845438/default.css'>

  <script src="http://ru.lookatcode.com/show/5083176863845438/picker.js"></script>
  

   </head>

  <body>

<div id='picker-contain' class='picker-contain'>


</div>
  
<script>
 

 var cont = document.getElementById('picker-contain');

 var picker = new Picker(cont, {
 	
    backColor: 'green',

 	canvas: {
 	
 	 picker: {
 		
 		width:300,
 		height:300
 	},

 	 tone: {

 	 	width:30,
 	 	height:300
 	 },

 	 dot: {
 	     width: 8,
         height:8
 	 }

 	}
 });


 picker.on('changedColor', function(params) {
    
 	//console.log(params.color);

 });


  picker.on('DotMove', function (coords) {
  
   if (coords.y > 150) {
         setTimeout(function(){
             this.style.borderColor = 'white';
         }.bind(this), 0);
     }


     else {

         setTimeout(function(){
             this.style.borderColor = 'black';
         }.bind(this), 0);


     }
  
  });




</script>

  </body>
</html>


Кстати при скролле координаты смещаются. И в хроме каретка вместо стрелочки при перетаскивании (фиксится через preventDefault() по mousedown)

cyber 30.10.2013 02:06

danik.js, хм, я тебя не так понял я думал ты имел ввиду обернуть mousemove
function onMousemove(e) {


      setTimeout(function () {

          setCoords(e, canvas, offsetElem, shift);
          

      }, 5);

  };


и да , работает не совсем правильно так как не всегда цвет меняеться при резком движении..

cyber 30.10.2013 02:07

Цитата:

Сообщение от danik.js
Кстати при скролле координаты смещаются. И в хроме каретка вместо стрелочки при перетаскивании (фиксится через preventDefault() по mousedown)
__________________

хм, чет забыл про то что координаты учитываются без учета скрола, сенк.


Часовой пояс GMT +3, время: 15:25.