好的,所以我想做的是,我有一个isVisible变量,该变量分配给一个函数,该函数可以确定在浏览页面时是否正在滚动哪个元素。我需要使用isVisible变量来检查和记录味精,具体取决于我在页面上的位置

例如,页面顶部的isVisible,日志XisVisible在页面的中间,日志YisVisible在页面的底部,日志Z

isVisible是用于检查trgt在页面上的位置的功能。

let isVisible = isScrolledIntoView(trgt);

console.log(`element index ${index} is now ${isVisible ? '"X"': (isVisible ? "Y" : "Z")}`);


我将如何重新排列才有意义?

最佳答案

如果您确实想使用三元运算符,可以将一个数字/字符串分配给isVisible(然后可能会调用其他名称)而不是布尔值,并在三元数中使用visible = someNumber/someString



const index = 1;
const visible = "bottom";

console.log(`element index ${index} is now ${visible === "top"
  ? '"X"'
  : visible === "middle"
    ? "Y"
    : "Z"}`
);





但是在您的情况下,似乎最好将switch / if语句与数字(或字符串,如果可以提供清晰的定义)结合使用,以防您在页面上需要更多位置:



const index = 1;
const visible = 3;

switch (visible) {
  case 1:
    console.log( `Element index ${index} is now visible at A` );
    break;

  case 2:
    console.log( `Element index ${index} is now visible at B` );
    break;

  case 3:
    console.log( `Element index ${index} is now visible at C` );
    break;

  case 4:
    console.log( `Element index ${index} is now visible at D` );
    break;

  default:
    console.log( "Element is now in the void" );
    break;
}

关于javascript - Javascript-模板文字-三元运算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56637976/

10-13 00:54