您可以使用 jQuery 的 addClass 和 removeClass,考虑:
if($(document).scrollTop() > 250)
{
$('#div').addClass("show");
}
else
{
$('#div').removeClass("show");
}
});
这样做是用 div 类“show”替换原始类,例如“hide”,当用户向下滚动页面 250px 时,这段特定的代码片段会显示一个横幅。
请记住,如果您正在使用此代码,那么使用 CSS3 过渡效果会更好(并且更流畅),除非您正在考虑浏览器不支持此功能的用户,例如 IE8-。
编辑:我刚刚意识到你这样做的原因是因为你正在考虑 IE7 用户。完美的。我自己刚刚解决了这个问题。
我使用的解决方法是设置一个 css3 转换,以及一个带有 if 语句的检测器,以在不支持转换的情况下使用 jQuery,见下文:
var Detect = (function() {
var
//Add CSS properties to test for
props = "transition".split(","),
//Browser prefixes
CSSprefix = "Webkit,Moz,O,ms,Khtml".split(","),
d = document.createElement("detect"),
test = [],
p, pty;
// test prefixed code
function TestPrefixes(prop) {
var
Uprop = prop.charAt(0).toUpperCase() + prop.substr(1),
All = (prop + ' ' + CSSprefix.join(Uprop + ' ') + Uprop).split(' ');
for (var n = 0, np = All.length; n < np; n++) {
if (d.style[All[n]] === "") return true;
}
return false;
}
for (p in props) {
pty = props[p];
test[pty] = TestPrefixes(pty);
}
return test;
}());
if (Detect.transition) {
$(function(){
$(window).scroll(function() {
//your code here
//remember to use an if else