为了账号安全,请及时绑定邮箱和手机立即绑定

angular如何嵌入JQ代码?

angular如何嵌入JQ代码?

人到中年有点甜 2019-05-25 15:38:08
项目当中遇见控制的问题,之前用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
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

可以angular指令里写jQuery代码,如果已经引入了jQuery库,那么angular指令中link的第二个参数就是jQuery对象。
                            
查看完整回答
反对 回复 2019-05-25
?
HUX布斯

TA贡献1876条经验 获得超6个赞

angular.directive('foo',function(){
return{
link:function(scope,el){
//TODO调用你jq的初始化代码el.something()...
}
}
})
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 466 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号