项目当中遇见控制的问题,之前用JQ写的面板拖拽效果想移植到angular代码里面不知道该怎么处理求大神知道JQ代码scale=function(btn,bar,title,from,to,initnum){//获取增减温度的按钮this.plus=$('.scale_btn_la');this.add=$('.scale_btn_ra');this.btn=document.getElementById(btn);this.bar=document.getElementById(bar);this.title=document.getElementById(title);this.step=this.bar.getElementsByTagName("DIV")[0];this.from=from;this.to=to;this.initnum=initnum;this.init();};varlength=0;scale.prototype={init:function(){varf=this,g=document,b=window,m=Math;$('.scale_panel.fl').html(f.from+'℃');$('.scale_panel.fr').html(f.to+'℃');$('.basemsgspan').html(f.initnum+'℃');if(f.from){length=100/(f.to-f.from);varlengthinit=f.to-f.initnum;varoffsetleft=(f.bar.clientWidth/(f.to-f.from))*(Math.abs(f.to-f.from)-Math.abs(lengthinit))+length;this.title.innerHTML=this.initnum;f.btn.style.left=offsetleft+'px';this.step.style.width=offsetleft+'px';}f.btn.addEventListener('touchstart',function(event){varx=event.targetTouches[0].pageX;varl=this.offsetLeft;varmax=f.bar.offsetWidth-this.offsetWidth;g.addEventListener('touchmove',function(_event){varthisX=_event.targetTouches[0].pageX;varto=m.min(max,m.max(-2,l+(thisX-x)));if(to>length){to+=length;}if(to>f.bar.offsetWidth){f.btn.style.left=f.bar.offsetWidth+'px';f.ondrag(m.round(m.max(0,to/max)*100),f.bar.offsetWidth);}else{f.btn.style.left=to+'px';f.ondrag(m.round(m.max(0,to/max)*100),to);}b.getSelection?b.getSelection().removeAllRanges():g.selection.empty();});},false);/*f.btn.touchstart=function(e){varx=(e||b.event).clientX;varl=this.offsetLeft;varmax=f.bar.offsetWidth-this.offsetWidth;g.touchmove=function(e){varthisX=(e||b.event).clientX;varto=m.min(max,m.max(-2,l+(thisX-x)));if(to>length){to+=length;}f.btn.style.left=to+'px';f.ondrag(m.round(m.max(0,to/max)*100),to);b.getSelection?b.getSelection().removeAllRanges():g.selection.empty();};g.touchend=newFunction('this.touchmove=null');};*///手动控制f.plus.on('click',function(){varcurrentNum=parseInt(f.title.innerHTML);if(currentNum>f.from){varlengthinit=f.to-(currentNum-1);varoffsetleft=(f.bar.clientWidth/(f.to-f.from))*(Math.abs(f.to-f.from)-Math.abs(lengthinit))+length;f.title.innerHTML=currentNum-1;$('.basemsgspan').html((currentNum-1)+'℃');//$('.leng').html((currentNum-1)+'℃');if((currentNum-1)==f.from){f.btn.style.left=0+'px';f.step.style.width=0+'px';}else{f.btn.style.left=offsetleft+'px';f.step.style.width=offsetleft+'px';}}});f.add.on('click',function(){varcurrentNum=parseInt(f.title.innerHTML);if(currentNum=$scope.DeviceData.refrigeratorTargetTemperature.logic.range.maxValue){if($$(".ModalPromptBox").length===0){$translate(['lang_maxTem','lang_cannotHigh']).then(function(translations){$$.warn(translations.lang_maxTem+""+$scope.DeviceData.refrigeratorTargetTemperature.logic.range.maxValue+translations.lang_cannotHigh);});}}else{$scope.refrigeratorTargetTemperature==="-/-"?0:$scope.refrigeratorTargetTemperature;$scope.refrigeratorTargetTemperature+=$scope.DeviceData.refrigeratorTargetTemperature.logic.range.step;$scope.settingTemp({'refrigeratorTargetTemperature':$scope.refrigeratorTargetTemperature});}}elseif(type==3){if($scope.vtRoomTargetTemperature+21>=$scope.DeviceData.vtRoomTargetTemperature.logic.range.maxValue){if($$(".ModalPromptBox").length===0){$translate(['lang_maxTem','lang_cannotHigh']).then(function(translations){$$.warn(translations.lang_maxTem+""+($scope.DeviceData.vtRoomTargetTemperature.logic.range.maxValue-21)+translations.lang_cannotHigh);});}}else{$scope.vtRoomTargetTemperature==="-/-"?0:$scope.vtRoomTargetTemperature;$scope.vtRoomTargetTemperature+=$scope.DeviceData.vtRoomTargetTemperature.logic.range.step;$scope.settingTemp({'vtRoomTargetTemperature':$scope.vtRoomTargetTemperature});}}else{if(($scope.freezerTargetTemperature+26)>=$scope.DeviceData.freezerTargetTemperature.logic.range.maxValue){if($$(".ModalPromptBox").length===0){$translate(['lang_maxTem','lang_cannotHigh']).then(function(translations){$$.warn("不能再高了"+""+($scope.DeviceData.freezerTargetTemperature.logic.range.maxValue-26)+translations.lang_cannotHigh);});}}else{$scope.freezerTargetTemperature==="-/-"?0:$scope.freezerTargetTemperature;$scope.freezerTargetTemperature+=$scope.DeviceData.freezerTargetTemperature.logic.range.step;$scope.settingTemp({'freezerTargetTemperature':$scope.freezerTargetTemperature});}}};//减温度$scope.minusTemp=function(type){if(type==1){if($scope.refrigeratorTargetTemperature
添加回答
举报
0/150
提交
取消