Based on snippet below, for the current show div, it will insert an inline css
display: block
while other div will be display: none
. All of those div contain the same class .boxlink
. Their parent div class is .product-link
.
Now, I've created an if statement where, if .boxlink
contain an inline css of display: block
, its parent div will have an inline css background: #E6DCD0
.
But it's not working. May I know why and how to solve it? Basically, I want the current show .boxlink
parent div which is .product-link
to be background: #E6DCD0
.
P/S : The if statement is down below inside the jquery snippet.
$(document).ready(function () {
var $boxes = $('.boxlink');
var $links = $('.product-link');
var cycle = false;
var cycle_step = 0;
$('.productlist .product-link').mouseenter(function() {
boxActivate(this.id);
stopCycle();
});
$('.productlist .product-link').mouseleave(function() {
cycle = setTimeout(function(){
startCycle();
}, 1000);
});
var boxActivate = function(id){
$boxes.hide().filter('#box' + id).show();
}
// cycle - only when mouse is not over links
var startCycle = function(){
cycle = setInterval(function(){
boxActivate($links.get(cycle_step).id);
cycle_step++;
if(cycle_step==$links.length) {
cycle_step=0;
}
}, 3000);
}
var stopCycle = function(){
clearInterval(cycle);
}
startCycle();
});
$(document).ready(function(){
if ( $('.boxlink').prop('style').display == 'block' ) {
$('.boxlink').parent().css( "background", "#E6DCD0");
}
});
.product-link {
float: left;
width: 128px;
}
.product-icon-box-desc-certified, .product-icon-box-desc-warranty, .product-icon-box-desc-buyback, .product-icon-box-desc-shipping {
display: none;
width: 512px;
}
.product-link:hover {
background: #E6DCD0;
}
.product-icon-box-desc-certified {
display: block;
position: relative;
top: 0px;
left: 0;
background: #fff;
}
.product-icon-box-desc-warranty {
display: block;
position: relative;
top: 0px;
left: -128px;
background: #fff;
}
.product-icon-box-desc-buyback {
display: block;
position: relative;
top: 0px;
left: -256px;
background: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="productlist">
<div id="link0" class="product-link">
<a href="http://google.com" target="_blank">
<img class="center-block" src="http://iceiceicy.com/wingwah/wp-content/uploads/2015/11/icon-ori.png" />
<i>Authenticity & Restoration</i>
</a>
<div id="boxlink0" class="product-icon-box-desc-certified boxlink">
<p class="certified-title">CERTIFIED AUTHENTIC</p>
<p class="certified-desc">Aliquam libero lorem, rutrum vitae dolor quis, pellentesque placerat lectus. Suspendisse potenti. Sed ullamcorper dictum libero eget aliquet. In mauris est, blandit ut aliquam at, tristique ac orci. Quisque mollis, lectus in tempor bibendum, libero dui aliquet odio, vitae dictum arcu elit sit amet eros. Maecenas pellentesque nunc enim, id porta orci pretium vitae. Nam pellentesque sem vitae neque iaculis, vel tincidunt ligula mollis. In fringilla dictum tortor eu accumsan. Donec ac neque et ligula egestas venenatis. Donec malesuada ultricies posuere. Nullam risus nunc, finibus sit amet nisi ac, molestie tempor dui.</p>
</div>
</div>
<div id="link1" class="product-link">
<a href="http://google.com" target="_blank">
<img class="center-block" src="http://iceiceicy.com/wingwah/wp-content/uploads/2015/11/icon-waranty.png" />
<i>12 Months Warranty</i>
</a>
<div id="boxlink1" class="product-icon-box-desc-warranty boxlink">
<p class="certified-title">CERTIFIED PRE-OWNED WATCHES WARRANTY</p>
<p class="certified-desc">Donec ac nibh urna. Mauris porta quis lacus id efficitur. Mauris sit amet congue nunc. Nullam tellus lacus, vehicula non viverra id, fringilla eu sapien. Nulla facilisi. Pellentesque rutrum nulla in ex facilisis blandit non eu risus. Nam imperdiet sed risus fermentum tristique. Integer elementum vitae diam non volutpat. Praesent in mi blandit nunc efficitur elementum. Etiam dapibus dui dui, vitae pretium urna dapibus at.</p>
</div>
</div>
<div id="link2" class="product-link">
<a href="http://google.com" target="_blank">
<img class="center-block" src="http://iceiceicy.com/wingwah/wp-content/uploads/2015/11/icon-buyback.png" />
<i>Buy Back / Trade In Guarantee</i>
</a>
<div id="boxlink2" class="product-icon-box-desc-buyback boxlink">
<p class="certified-title">LIFE TIME BUY BACK / TRADE-IN TERMS AND CONDITION</p>
<p class="certified-desc">Phasellus dolor nisi, ullamcorper ac mauris posuere, scelerisque viverra urna. Vivamus eleifend ullamcorper ex condimentum iaculis. Nunc volutpat massa id dui imperdiet interdum. Nullam quis libero sed velit pretium ornare. In vestibulum sollicitudin est, a fermentum libero. Praesent in ultricies libero. Integer eget dignissim diam. Donec volutpat ultrices auctor. Proin euismod magna ut nulla condimentum tempor. Donec at elit magna. Etiam pretium, augue at fringilla porta, neque nibh pulvinar nibh, at posuere ex dui ac enim. Nunc erat nibh, rhoncus non varius et, blandit in purus.</p>
</div>
</div>
You need to insert the line I have suggested in previous answer inside boxActivate function. Also, set background: none, before setting the background color to next element.
One more thing you need to do is set background colour on load for the boxlink visible. For that, I have added this line on document.ready:
$('.boxlink:last').parent().css( "background", "#E6DCD0");
Since, I could see your last div
was being display on load.
$(document).ready(function () {
var $boxes = $('.boxlink');
var $links = $('.product-link');
var cycle = false;
var cycle_step = 0;
$('.productlist .product-link').mouseenter(function() {
boxActivate(this.id);
stopCycle();
});
$('.productlist .product-link').mouseleave(function() {
cycle = setTimeout(function(){
startCycle();
}, 1000);
});
var boxActivate = function(id){
$boxes.hide().filter('#box' + id).show();
$('.boxlink').parent().css( "background", "none");
$('.boxlink:visible').parent().css( "background", "#E6DCD0");
}
// cycle - only when mouse is not over links
var startCycle = function(){
cycle = setInterval(function(){
boxActivate($links.get(cycle_step).id);
cycle_step++;
if(cycle_step==$links.length) {
cycle_step=0;
}
}, 3000);
}
var stopCycle = function(){
clearInterval(cycle);
}
startCycle();
});
$(document).ready(function(){
//if ( $('.boxlink').prop('style').display == 'block' ) {
// $('.boxlink:visible').parent().css( "background", "#E6DCD0");
//}
$('.boxlink:last').parent().css( "background", "#E6DCD0");
});
.product-link {
float: left;
width: 128px;
}
.product-icon-box-desc-certified, .product-icon-box-desc-warranty, .product-icon-box-desc-buyback, .product-icon-box-desc-shipping {
display: none;
width: 512px;
}
.product-link:hover {
background: #E6DCD0;
}
.product-icon-box-desc-certified {
display: block;
position: relative;
top: 0px;
left: 0;
background: #fff;
}
.product-icon-box-desc-warranty {
display: block;
position: relative;
top: 0px;
left: -128px;
background: #fff;
}
.product-icon-box-desc-buyback {
display: block;
position: relative;
top: 0px;
left: -256px;
background: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="productlist">
<div id="link0" class="product-link">
<a href="http://google.com" target="_blank">
<img class="center-block" src="http://iceiceicy.com/wingwah/wp-content/uploads/2015/11/icon-ori.png" />
<i>Authenticity & Restoration</i>
</a>
<div id="boxlink0" class="product-icon-box-desc-certified boxlink">
<p class="certified-title">CERTIFIED AUTHENTIC</p>
<p class="certified-desc">Aliquam libero lorem, rutrum vitae dolor quis, pellentesque placerat lectus. Suspendisse potenti. Sed ullamcorper dictum libero eget aliquet. In mauris est, blandit ut aliquam at, tristique ac orci. Quisque mollis, lectus in tempor bibendum, libero dui aliquet odio, vitae dictum arcu elit sit amet eros. Maecenas pellentesque nunc enim, id porta orci pretium vitae. Nam pellentesque sem vitae neque iaculis, vel tincidunt ligula mollis. In fringilla dictum tortor eu accumsan. Donec ac neque et ligula egestas venenatis. Donec malesuada ultricies posuere. Nullam risus nunc, finibus sit amet nisi ac, molestie tempor dui.</p>
</div>
</div>
<div id="link1" class="product-link">
<a href="http://google.com" target="_blank">
<img class="center-block" src="http://iceiceicy.com/wingwah/wp-content/uploads/2015/11/icon-waranty.png" />
<i>12 Months Warranty</i>
</a>
<div id="boxlink1" class="product-icon-box-desc-warranty boxlink">
<p class="certified-title">CERTIFIED PRE-OWNED WATCHES WARRANTY</p>
<p class="certified-desc">Donec ac nibh urna. Mauris porta quis lacus id efficitur. Mauris sit amet congue nunc. Nullam tellus lacus, vehicula non viverra id, fringilla eu sapien. Nulla facilisi. Pellentesque rutrum nulla in ex facilisis blandit non eu risus. Nam imperdiet sed risus fermentum tristique. Integer elementum vitae diam non volutpat. Praesent in mi blandit nunc efficitur elementum. Etiam dapibus dui dui, vitae pretium urna dapibus at.</p>
</div>
</div>
<div id="link2" class="product-link">
<a href="http://google.com" target="_blank">
<img class="center-block" src="http://iceiceicy.com/wingwah/wp-content/uploads/2015/11/icon-buyback.png" />
<i>Buy Back / Trade In Guarantee</i>
</a>
<div id="boxlink2" class="product-icon-box-desc-buyback boxlink">
<p class="certified-title">LIFE TIME BUY BACK / TRADE-IN TERMS AND CONDITION</p>
<p class="certified-desc">Phasellus dolor nisi, ullamcorper ac mauris posuere, scelerisque viverra urna. Vivamus eleifend ullamcorper ex condimentum iaculis. Nunc volutpat massa id dui imperdiet interdum. Nullam quis libero sed velit pretium ornare. In vestibulum sollicitudin est, a fermentum libero. Praesent in ultricies libero. Integer eget dignissim diam. Donec volutpat ultrices auctor. Proin euismod magna ut nulla condimentum tempor. Donec at elit magna. Etiam pretium, augue at fringilla porta, neque nibh pulvinar nibh, at posuere ex dui ac enim. Nunc erat nibh, rhoncus non varius et, blandit in purus.</p>
</div>
</div>