嵌套条件语句有效,但组合条件语句无效 - JavaScript
Nested Conditional Statement Works, but Combines Conditional Statement Doesn't - JavaScript
我有一段代码解决了一个问题,但我不知道为什么我的解决方案有效,我发现这几乎和某些东西不起作用时一样令人沮丧。
基本上我有一个 SVG viewbox,我已经用 JS 调整了大小以适应大屏幕。
此 SVG 视图框仅出现在我网站的一个页面上,第 1 页。
我有一个条件语句,如果用户在第 1 页并且 window 为 1920 像素或更大,则视图框会调整大小。
我是通过嵌套的 if 语句实现的。
if (page1) {
if (window.innerWidth > 1919) {
// set SVG viewbox for screens larger than 1920px
} else {
// keep normal viewbox dimensions.
}
}
当我最初尝试这个时,我将它作为一个带有两个条件的 if 语句来完成,虽然这在 page1 上有效,但当我不在 page1 上时它在控制台中抛出了一个错误。
为什么当只有一个组合条件而不是嵌套条件时,它会在非 page1
的页面上抛出错误?我得到的错误基本上是说 SVG 元素不存在。我很困惑。
if (page1 && window.innerWidth > 1919) {
// set SVG viewbox for screens larger than 1920px
} else {
// keep normal viewbox dimensions.
}
想一想您的代码的含义:在第一个版本中,如果它 是 page1
,那么您要么更改大小,要么保持默认大小。如果它 不是 page1
,你什么都不做。
在第二种情况下,如果它是 page1
并且 window 很大,则使用大视图框。如果是 而不是 page1
或 页面不够大,请使用默认大小。
它们只是不一样。
我有一段代码解决了一个问题,但我不知道为什么我的解决方案有效,我发现这几乎和某些东西不起作用时一样令人沮丧。
基本上我有一个 SVG viewbox,我已经用 JS 调整了大小以适应大屏幕。
此 SVG 视图框仅出现在我网站的一个页面上,第 1 页。
我有一个条件语句,如果用户在第 1 页并且 window 为 1920 像素或更大,则视图框会调整大小。
我是通过嵌套的 if 语句实现的。
if (page1) {
if (window.innerWidth > 1919) {
// set SVG viewbox for screens larger than 1920px
} else {
// keep normal viewbox dimensions.
}
}
当我最初尝试这个时,我将它作为一个带有两个条件的 if 语句来完成,虽然这在 page1 上有效,但当我不在 page1 上时它在控制台中抛出了一个错误。
为什么当只有一个组合条件而不是嵌套条件时,它会在非 page1
的页面上抛出错误?我得到的错误基本上是说 SVG 元素不存在。我很困惑。
if (page1 && window.innerWidth > 1919) {
// set SVG viewbox for screens larger than 1920px
} else {
// keep normal viewbox dimensions.
}
想一想您的代码的含义:在第一个版本中,如果它 是 page1
,那么您要么更改大小,要么保持默认大小。如果它 不是 page1
,你什么都不做。
在第二种情况下,如果它是 page1
并且 window 很大,则使用大视图框。如果是 而不是 page1
或 页面不够大,请使用默认大小。
它们只是不一样。