![](/img/trans.png)
[英]How do I use one element of an SVG to change the opacity of another, in the same SVG?
[英]How can I use one “if” to do the same job?
希望大家一切都好。
我有方法subscriber
:
subscriber: function() {
var self = this;
self.hideError();
self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
console.info(data);
console.info(data.datos);
// HERE I NEED TO RESUME THE CODE
self.showModal();
self.idPanel=data.iCont;
});
},
我有方法llenarTareasTemp
:
llenarTareasTemp: function(data){
var self = this;
$("#opt1").html("");
var bEncontrado=false; // REPLACED BY RETURN FALSE.
$.each(data.datos, function(index,value) {
if(value!=undefined){
for(var iCont=0;iCont<value.length;iCont++){
if(self.objTareasTemp.idProyecto==value[iCont].idProyecto){
console.info(self.objTareasTemp.idProyecto,"=",value[iCont].idProyecto)
$("#opt1").append("<option>"+value[iCont].nombreTarea+"</option>");
$("#select_seleccionar_proyecto_id").selectpicker('refresh');
bEncontrado=true; // REPLACED BY RETURN TRUE.
}
}
}
});
//if(bEncontrado){
// self.conRegistro();
//}else{
// self.sinRegistro();
// self.llenarTareasRegistradas(self.aDataServer);
//}
},
我有方法llenarTareasRegistradas
:
llenarTareasRegistradas: function(data){
var self = this;
$("#opt2").html("");
for (var i = 1; i < data.length; i++){
if(data[i].nombre_tarea != null){
var cTareas = "<option value="+i+">"+data[i].nombre_tarea+"</option>";
$("#opt2").append(cTareas);
$("#select_seleccionar_proyecto_id").selectpicker('refresh');
var bEncontrado=true; // REPLACED BY RETURN TRUE.
}else{
$("#opt2").append("");
$("#select_seleccionar_proyecto_id").selectpicker('refresh');
bEncontrado=false; // REPLACED BY RETURN FALSE.
}
}
// if(bEncontrado){
//self.conRegistro();
//}else{
// self.sinRegistro();
//}
},
这些代码很好用,但是我必须总结一下:
if(bEncontrado){
self.conRegistro();
}else{
self.sinRegistro();
}
和这个:
if(bEncontrado){
self.conRegistro();
}else{
self.sinRegistro();
self.llenarTareasRegistradas(self.aDataServer);
}
如果在方法subscriber
,在console.info(data.datos);
之间console.info(data.datos);
和self.showModal();
。
`self.conRegistro();` and `self.sinRegistro();` they are methods that call messages only.
做我想做的事,我认为我必须替换一些东西。
在console.info(data.datos);
之间的方法subscriber
中的SO console.info(data.datos);
和self.showModal();
,我不知道如何仅使用ONE if命令两个if(bEncontrado)
(来自llenarTareasRegistradas
和llenarTareasTemp
),因为我必须在方法中删除两个if。
参考图像。
在B部分中,在订阅者方法中,我有一个小方案,什么都不做。
http://www.uppic.com/uploads/14321765021.jpg (您可以缩放)
请对不起我的英语,谢谢。
解:
我替换此代码:
if(bEncontrado){
self.conRegistro();
}else{
self.sinRegistro();
作者: return bEncontrado;
在方法llenarTareasTemp
和方法llenarTareasRegistradas
并且在方法subscriber
,在console.info(data.datos);
之间console.info(data.datos);
和self.showModal();
我放:
var temp = Boolean(self.llenarTareasTemp(data));
var server = Boolean(self.llenarTareasRegistradas(self.aDataServer));
if (temp || server) {
self.conRegistro();
}else{
self.sinRegistro();
}
并以相同的方式工作,但都带有一个“ if”,无论如何,还是谢谢您,如果让我感到困惑的话,对不起。
您应该这样定义一个函数“ isEncontrado”:
/** * if encontrado call self.conRegistro() else call self.sinRegistro() * @param b is Encontrado * @param isNeedCall is need call self.llenarTareasRegistradas() */ isEncontrado : function(b, isNeedCall) { if (b) { self.conRegistro(); } else { self.sinRegistro(); if (isNeedCall) self.llenarTareasRegistradas(self.aDataServer); } }
然后调用此函数。 例:
llenarTareasTemp: function(data){ var self = this; $("#opt1").html(""); isEncontrado(false); // call function isEncontrado $.each(data.datos, function(index,value) { if(value!=undefined){ for(var iCont=0;iCont<value.length;iCont++){ if(self.objTareasTemp.idProyecto==value[iCont].idProyecto){ console.info(self.objTareasTemp.idProyecto,"=",value[iCont].idProyecto) $("#opt1").append("<option>"+value[iCont].nombreTarea+"</option>"); $("#select_seleccionar_proyecto_id").selectpicker('refresh'); isEncontrado(true, true); //call function isEncontrado } } } }); }
我想你知道该怎么办。 对不起,我的英语不是很好。
您的问题不是很清楚,但是也许这就是您想要的:
subscriber: function() {
var self = this;
self.hideError();
self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
console.info(data);
console.info(data.datos);
if (self.llenarTareasTemp(data)) {
self.conRegistro();
} else {
self.sinRegistro();
self.llenarTareasRegistradas(self.aDataServer);
}
self.showModal();
self.idPanel=data.iCont;
});
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.