Reputation: 295
I had multiple dynamic content sections. Each sections have heading tag.
First section h2 class name is "bounceInRight"
First section h2 class name is "bounceInLeft"
third section h2 class name is "bounceInRight"
Fourth section h2 class name is "bounceInLeft" and goes on.
If I reach this class I need to add some class to another div name "blink".
For this I used the following code:
var eyemoveright = $(".bounceInRight h2").offset().top;
var eyemoveleft = $(".bounceInLeft h2").offset().top;
$(window).scroll(function() {
if($(window).scrollTop() > eyemoveright) {
$('.blink').addClass( "move-right");
$('.blink1').addClass( "move-right");
}
if($(window).scrollTop() > eyemoveleft) {
$('.blink').addClass( "move-left");
$('.blink1').addClass( "move-left");
}
});
Please see the fiddle.
For the first two sections are working fine. The classes are added correctly. If the third content block reached, the add classes not working. Because I used two if condition. How to call the first If condition again, if the third block content reached??
Upvotes: 0
Views: 58
Reputation: 420
u should use loop through each section and set a flag for already reached section.
$(window).scroll(function() {
$(".bounceInRight h2").each(function(){
var eyemoveright = $(this).offset().top;
if($(window).scrollTop() > eyemoveright && !$(this).hasClass('reached')) {
console.log('right');
$(this).addClass('reached');
$('.blink').addClass( "move-right");
$('.blink1').addClass( "move-right");
$('.blink').removeClass( "move-left");
$('.blink1').removeClass( "move-left");
}
})
$(".bounceInLeft h2").each(function(){
var eyemoveleft = $(this).offset().top;
if($(window).scrollTop() > eyemoveleft && !$(this).hasClass('reached')) {
console.log('left');
$(this).addClass('reached');
$('.blink').addClass( "move-left");
$('.blink1').addClass( "move-left");
$('.blink').removeClass( "move-right");
$('.blink1').removeClass( "move-right");
}
})
});
http://jsfiddle.net/ashish1bhagat/zvkjfk6r/7/
Upvotes: 1
Reputation: 680
You should add this:
if($(window).scrollTop() < eyemoveright) {
$('.blink').removeClass( "move-right");
$('.blink1').removeClass( "move-right");
}
like below.
var eyemoveright = $(".bounceInRight h2").offset().top;
var eyemoveleft = $(".bounceInLeft h2").offset().top;
$(window).scroll(function() {
if($(window).scrollTop() > eyemoveright) {
$('.blink').addClass( "move-right");
$('.blink1').addClass( "move-right");
}
if($(window).scrollTop() < eyemoveright) {
$('.blink').removeClass( "move-right");
$('.blink1').removeClass( "move-right");
}
if($(window).scrollTop() > eyemoveleft) {
$('.blink').addClass( "move-left");
$('.blink1').addClass( "move-left");
}
});
.blink, .blink1{ background-color:#fff; width:3px; height:3px; position:absolute; animation: blink 2s steps(5, start) infinite; -webkit-animation: blink 2s steps(5, start) infinite; left:90px; top:64px; }
.blink1{ left:124px; top:65px; }
@keyframes blink {
to {
visibility: hidden;
}
}
@-webkit-keyframes blink {
to {
visibility: hidden;
}
}
.blink.move-right{left:50px;}
.blink1.move-right{left:56px;}
.blink.move-left{left:10px;}
.blink1.move-left{left:15px;}
.animation-image{ width:200px; height:100px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="animation-image text-center" style="position:fixed; background-color:red;"><span class="blink1 hidden-mob"></span><span class="blink hidden-mob"></span></div>
<br><br><br><br>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
</p>
<div class="clearfix"></div>
<div class="col-sm-5 bounceInRight">
<h2>Letraset sheets containing Lorem Ipsum pa</h2>
</div>
<div class="clearfix"></div>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
<div class="col-sm-5 bounceInLeft">
<h2>Letraset sheets containing Lorem Ipsum pa</h2>
</div>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
<div class="col-sm-5 bounceInRight">
<h2>Letraset sheets containing Lorem Ipsum pa</h2>
</div>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
<div class="col-sm-5 bounceInRight">
<h2>Letraset sheets containing Lorem Ipsum pa</h2>
</div>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
<div class="col-sm-5 bounceInRight">
<h2>Letraset sheets containing Lorem Ipsum pa</h2>
</div>
Upvotes: 0
Reputation: 6156
Is there any problem if the second if condition is written inside the first one Because it will never go in the second if
if($(window).scrollTop() > eyemoveleft) {
console.log("seconfif");
$('.blink').addClass( "move-left");
$('.blink1').addClass( "move-left");
}
Second Method
if(eyemoveright< $(window).scrollTop() && $(window).scrollTop() > eyemoveleft) {
console.log("seconfif");
$('.blink').addClass( "move-left");
$('.blink1').addClass( "move-left");
}
Upvotes: 3