两个条件合为一

Two conditions into a single one

本文关键字:条件 两个      更新时间:2023-09-26

我已经写了这段代码,我正在努力优化它

            if (imageEntity.get('image').get('value')[480]) {
                sliderImages.push('<div style="opacity: ' + ((index === 0)? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./../../connect/img/user-images/' + imageEntity.get('image').get('value')[480]+'?_='+Date.now() + ') center center no-repeat; background-size: cover;"></div>');
            } else if (imageEntity.get('image').get('value')[150]){
                sliderImages.push('<div style="opacity: ' + ((index === 0)? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./../../connect/img/user-images/' + imageEntity.get('image').get('value')[150]+'?_='+Date.now() + ') center center no-repeat; background-size: cover;"></div>');
            } else {
                sliderImages.push('<div style="opacity: ' + ((index === 0)? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(img/ctrl-thumb.png) center center no-repeat; background-color: #f6f6f6;"></div>');
            }

如何组合幻灯片图像。按成一个?有imageEntity.get('image').get('value')[150]+'?_='+Date.now() +,我如何根据可用的内容放置480或150?

感谢

考虑一下这段代码。在JavaScript中,您可以有条件地设置这样的变量。

var x = new Object();
var y = (window.i || window.x);

在上述情况下,变量"i"是未定义的,但变量"x"不是。使用如上所示的求值设置变量"y"会使"y"设置为"x"的值,因为"i"未定义。但是,请注意以下操作不起作用:

var x = new Object();
var y = (i || x); 

为了使评估成功,您需要将变量用作其他对象的成员。也就是说,可以这样修改你的代码:

var i = (imageEntity.get('image').get('value')[480] || imageEntity.get('image').get('value')[150]);
if(!i){
    sliderImages.push('<div style="opacity: ' + ((index === 0) ? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(img/ctrl-thumb.png) center center no-repeat; background-color: #f6f6f6;"></div>');
}else{
    sliderImages.push('<div style="opacity: ' + ((index === 0) ? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./../../connect/img/user-images/' + i + '?_=' + Date.now() + ') center center no-repeat; background-size: cover;"></div>');
}

尽量不要重复你正在重复的内容。。。

var img = imageEntity.get( 'image' );
if ( img.get('value')[480] || img.get('value')[150] ) {}
var image = imageEntity.get('image').get('value')[480] || imageEntity.get('image').get('value')[150];
if (image) {
    sliderImages.push('<div style="opacity: ' + ((index === 0)? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./../../connect/img/user-images/' + image + '?_=' + Date.now() + ') center center no-repeat; background-size: cover;"></div>');
} else {
    sliderImages.push('<div style="opacity: ' + ((index === 0)? 1 : 0) + '; transition: opacity .5s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(img/ctrl-thumb.png) center center no-repeat; background-color: #f6f6f6;"></div>');
}

您应该为div使用CSS类,并通过JavaScript仅设置动态值。