3

ユーザーがページの特定の場所 (900 ピクセル下) にスクロールしたときに div が表示され、特定の場所 (1800 ピクセル下) で消えるようにしたいと考えています。機能するソリューションがありますが、ユーザーが最初の表示ポイント (上から 900 ピクセル) を超えて上にスクロールすると壊れます。

その時点で、それは再び消えません。要約すると、divが表示された元のポイントを通過した後、divが再び消えるようにコードを変更するのに支援が必要です。

ここに私のテストページへのリンクがあります: http://jltest.biz/test-1

以下は私のコードです:

var startY = 900;
var stopY = 1800;

$(window).scroll(function(){
    checkY();
});

function checkY(){
    if( $(window).scrollTop() > startY ){
         if( $(window).scrollTop() > stopY ){
         $('.fixedDiv').fadeOut("slow");
   }
   else
   {  $('.fixedDiv').fadeIn("slow"); }
}
}

checkY();

お時間をいただきありがとうございます!

4

4 に答える 4

1

ifステートメントでログインにエラーがあり、それが原因で機能しませんでしたこれをチェックしてください

var startY = 900;
var stopY = 1800;

$(window).scroll(function(){
    checkY();
});

function checkY()
{
    console.log($(window).scrollTop()); 
    if($(window).scrollTop() > startY && $(window).scrollTop() <= stopY)
    {    
         $('.fixedDiv').fadeOut("slow");
    }
    else
    {

         $('.fixedDiv').fadeOut("slow");
    }
}

checkY();

これもチェックしてくださいhttp://jsfiddle.net/gLWxF/

これが役立つことを願っています:)

于 2013-07-21T02:30:15.770 に答える
0

それをするだけ

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>

var startY = 900;
var stopY = 1800;

$(window).scroll(function(){
    checkY();
});

function checkY()
{
    console.log($(window).scrollTop()); 
    if($(window).scrollTop() > startY && $(window).scrollTop() <= stopY)
    {
        console.log("Show"); 

        $('.foxedDiv').show(); 
    }
    else
    {
        console.log("Hide"); 
        $('.foxedDiv').hide();
    }
}

checkY();
</script>

<style> 
body
{
background:red;
    height:3000px; 
}
.foxedDiv
{
    display:none; 
    position:fixed; 
    top:50px; 
    right:10px; 
}
</style>
</head>
<body >
<div class="foxedDiv" >
    {loadposition moving}
	<br>
	
</div>
</body>
</html>

于 2015-04-30T12:22:58.363 に答える
0

高速にスクロールするときに時々$(window).scrollTop() > startY使用する代わりに、数字をスキップすることがあります。$(window).scrollTop() >= startY

これにより、次の値以上であることが保証されます。startY

于 2013-07-21T01:12:57.950 に答える