2012-11-05 44 views

回答

4

你可以把逻辑有点像这样的......

if (html.scrollTop > 0) { 
    scrollTop = html.scrollTop; 
    return; 
} 

if (body != undefined) { 
    if (body.scrollTop > 0) { 
     scrollTop = body.scrollTop; 
     return; 
    } 

} 

scrollTop = 0; 
return; 

它设置使用优先级列表中scrollTop变量。

  1. 首先,尝试使用html.scrollTop如果它存在并且大于零。
  2. 如果不是,则确保body存在,如果它大于零,则使用body.scrollTop
  3. 如果一切都失败了,只需将其设置为0
+0

是那么严格(html.scrollTop> 0)或者我们可以写(html.scrollTop)?谢谢 –

+1

在这种情况下,你可以写'if(html.scrollTop)'。我在解释中使用了更长的符号来更加明确。在JavaScript中,可以使用if语句来检查是否存在任何真值条件(不是零,不是空字符串,不为空等)。但是如果您认为'scrollTop'可能是负数,则需要小心。 – njr101