jQuery の addClass と removeClass を使用できます。
if($(document).scrollTop() > 250)
{
$('#div').addClass("show");
}
else
{
$('#div').removeClass("show");
}
});
これは、"hide" などの元のクラスを div クラス "show" に置き換えることです。この特定のコード スニペットは、ユーザーがページを 250 ピクセル下にスクロールしたときにバナーを表示します。
このコードを使用している場合は、IE8 などのブラウザーがこれをサポートしていないユーザーを考慮していない限り、CSS3 トランジションを使用する方が良い (そしてよりスムーズである) ことを覚えておいてください。
編集:IE7ユーザーを考慮しているため、このようにしている理由に気付きました。完全。私は文字通りこの問題を自分で解決しました。
私が使用した回避策は、css3 トランジションを設定し、トランジションがサポートされていない場合に jQuery を使用する if ステートメントを含む検出器を用意することでした。以下を参照してください。
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