Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Before and After Slider: element опережает clipper (https://javascript.ru/forum/events/35074-before-after-slider-element-operezhaet-clipper.html)

Volchen0ck 29.01.2013 21:00

Before and After Slider: element опережает clipper
 
В примере - Before after Slider. При клике на символ "укол" появляется поп ап, в нем слайдер - если подвигать divider в стороны - то заметно, размер картирки менятеся быстрее, чем передвигаемый елемент. Все исходники здесь - http://learn.javascript.ru/play/VVMBsb.

Помогите найти ошибку! :cray:
Symbol.bindElementAction(compId, symbolName, "document", "compositionReady", function(sym, e) {
         var dragme = false;
         
         $(function () {
            var element = sym.$("Divider");
            var clipper = sym.$("color2");
            
            $(document).bind("touchstart touchmove", function(e) {
                  //Disable scrolling by preventing default touch behaviour
                  e.preventDefault();
                  var x = e.originalEvent.touches[0].pageX;
                  //var y = e.originalEvent.touches[0].pageY;
                  // Move a div with id "rect"
                  element.offset({left: x});
                  var directionX = x - (clipper.offset().left);
         		   clipper.css('clip','rect(0px '+directionX+'px 366px 0px)');
           }); 
         
         	element.bind('mousedown ', function(e){dragme = true});
         	//element.bind('touchstart ', function(e){dragme = false});
         	$(document).bind('mouseup', function(e){dragme = false});
         	$(document).bind('touchend', function(e){dragme = false});
            $(document).bind('mousemove', function(e){
            //e.preventDefault();  
         	 if(dragme) {
         	   var x = e.pageX;
             //}
             //else{
             //  var x = e.originalEvent.touches[0].pageX;
             //}
         		element.offset({left: x});
               var directionX = x - (clipper.offset().left);
         		clipper.css('clip','rect(0px '+directionX+'px 520px 0px)');
         		}
            });
         
         })


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