Поддерживать div скрыло до тех пор, пока он не пройдет по установленной высоте (ни> ни <а =)

Со следующим кодом моим Div появись начиная с 1000px, но если я заставляю это исчезать перемещая его указатель сверху в любую высоту, появись снова как только scroll продвигается 1px и то, что я хочу, состоит в том, чтобы ОДИНОКИЙ div вновь появлялся, когда scroll происходит из-за 1000px. Спасибо.

$(window).scroll(function()  {
	var y = $(window).scrollTop();
    if (y = 500 )  {
      $(".topmenu").fadeIn();   // > 100px from top - show div
    }
});


$(document).ready(function(){
	
	$(".outmouseover").mouseenter(function(){
        $(".outmouseover").fadeOut(0);
		});

});
.youdiclass{position:fixed; display:none;width:100px; height:100px; background:red;}
#back{width:300px; height:500px;background:blue; margin:auto;}
.height600{}
.topmenu{
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 30px;
  background: rgba(255,246,0,1.00);
  z-index: 1;
	}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="topmenu outmouseover"></div>

<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
1
задан 16.03.2016, 22:06
1 ответ

Это - то, что он хотел сказать ему, будьте взят как (pseudocode), так как не jQuery

$(window).scroll(function()  {
	var y = $(window).scrollTop();


    if (y < 1000 ){
       variable = false;
    }

    if (y >= 1000 && variable == false){
      variable = true;

      $(".topmenu").fadeIn();   // > 100px from top - show div
    }

});

var variable = false;

$(document).ready(function(){
	
	$(".outmouseover").mouseenter(function(){
        $(".outmouseover").fadeOut(0);
		});

});
.youdiclass{position:fixed; display:none;width:100px; height:100px; background:red;}
#back{width:300px; height:500px;background:blue; margin:auto;}
.height600{}
.topmenu{
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 30px;
  background: rgba(255,246,0,1.00);
  z-index: 1;
	}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="topmenu outmouseover"></div>

<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>

Замечает: Если Вы используете точно y == 1000 и scroll - 1001 не выполняется условие, entoces он не появится, если это это, что он хочет только, он должен помещать y == 1000 && variable == false.


спасибо, функционирует частично, потому что я стремлюсь, того, чтобы поднявшись к y=1000, (когда его сходить за 1000) появился снова div. Ты можешь помогать мне с этим?

я думаю, что это может помогать ему в том, что он ищет:

var variable = false;
var s        = 1000;

$(window).scroll(function()  {
	  
      var y = $(window).scrollTop();

      if (y >= s && variable == false){

         variable = true;
         $(".topmenu").fadeIn();   // > 100px from top - show div

      }else if (y < s && variable == true){

         variable = false;
         $(".topmenu").fadeIn();   // > 100px from top - show div

     }

});

$(document).ready(function(){
	
	$(".outmouseover").mouseenter(function(){
        $(".outmouseover").fadeOut(0);
		});

});
.youdiclass{position:fixed; display:none;width:100px; height:100px; background:red;}
#back{width:300px; height:500px;background:blue; margin:auto;}
.height600{}
.topmenu{
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 30px;
  background: rgba(255,246,0,1.00);
  z-index: 1;
	}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="topmenu outmouseover"></div>

<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>
<div id="back">
</div>
<div id="back" style="background:green";>
</div>

Замечает: Возможно, что он хочет refactorizarlo, но он может брать это как основание.

1
ответ дан 24.11.2019, 14:43
  • 1
    спасибо, функционируй частично, потому что я стремлюсь, того, чтобы поднявшись к y=1000, (когда его сходить за 1000) появился снова div. Ты можешь помогать мне с этим? – Ivan Soler 17.03.2016, 00:44
  • 2
    @IvanSoler я заканчиваюсь у него оставления Update надеюсь, что он помогает ему, с другой стороны возможно, что он лучше для будущих вопросов, которые подробно описывала бы идея в общем и Ваше поведение, так как я думаю, что он будет лучше для того, который ответит, знал все то, во что он нуждается, я надеюсь, что он понимает и не берется в плохой Привет – Angel Angel 17.03.2016, 01:09
  • 3
    Большое спасибо @AngelAngel и извини ошибку. – Ivan Soler 17.03.2016, 01:10
  • 4
    @IvanSoler не без проблемы, одна спрашивает, что Вы приняли ответ, потому что я видел, который, если, но он делал вещи, и скрыл check и не, если Вы это забрали, или это вирус, может говорить мне. Привет – Angel Angel 17.03.2016, 01:20
  • 5
    retir и # 233; случайно. Решенный. Спасибо. – Ivan Soler 17.03.2016, 02:04