UPDATE: The effects work fine. The last thing that remains is trying to slide trough the divs whic I can't seem to be able to figure out.
UPDATE: I've managed to do it with the transitions plugin. One problem remains: when text slides in the box I can see how it enters the box from outside. Click here to see what I mean.
I'd like to achieve this flash effect using jQuery (top -> flash, bottom -> jquery) so it would be viewable on iphones and smartphones.
At the moment, I can't get the text to slide in from underneath those boxes.
HTML code:
<div id="banner">
<div>
<img src="img/banner-1.jpg" class="banner-bg" />
<div class="left"></div>
<div class="left-text"><span>POLISHED FLOORS1</span></div>
<div class="right"></div>
<div class="right-text"><span>Custom-made, elegant and long lasting.</span></div>
</div>
<div>
<img src="img/banner-2.jpg" class="banner-bg" />
<div class="left"></div>
<div class="left-text"><span>POLISHED FLOORS2</span></div>
<div class="right"></div>
<div class="right-text"><span>Custom-made, elegant and long lasting.</span></div>
</div>
<div>
<img src="img/banner-3.jpg" class="banner-bg" />
<div class="left"></div>
<div class="left-text"><span>POLISHED FLOORS3</span></div>
<div class="right"></div>
<div class="right-text"><span>Custom-made, elegant and long lasting.</span></div>
</div>
</div>
jQuery code:
$(document).ready(function(){
//$("#banner .left").transition({opacity: "1", width: "238px"}, 1200);
//$("#banner .right").transition({opacity: "0.7", width: "662px"}, 1200);
//$("#banner .left-text").delay(1200).transition({ opacity: '1', x: '-220px' });
//$("#banner .right-text").delay(1200).transition({ opacity: '1', x: '+642px' });
$(function(){
$ds = $('#banner div .banner-bg');
$ds.hide().eq(0).show();
setInterval(function(){
$ds.filter(':visible').fadeOut(function(){
var $banner_bg = $(this).next('div .banner-bg');
var $left = $(this).next('div .left');
var $right = $(this).next('div .right');
var $left_text = $(this).next('div .left-text');
var $right_text = $(this).next('div .right-text');
if ( $banner_bg.length == 0 ) {
$ds.eq(0).fadeIn();
} else {
$left.transition({opacity: "1", width: "238px"}, 1200);
$right.transition({opacity: "0.7", width: "662px"}, 1200);
$left_text.delay(1200).transition({ opacity: '1', x: '-220px' });
$right_text.delay(1200).transition({ opacity: '1', x: '+642px' });
$banner_bg.fadeIn();
}
});
}, 5000);
});
});
CSS code:
#banner {
height:299px;
width:900px;
position:relative;
overflow:hidden;
}
#banner .banner-bg {
z-index:0;
position:absolute;
top:0;
left:0;
}
#banner .left {
float:left;
width:0px;
height:100px;
background:url(img/banner-left-bg.png);
opacity:0.3;
position:relative;
z-index:7;
}
#banner .right {
float:right;
width:0px;
height:100px;
background-color:#34515c;
opacity:0.3;
position:relative;
z-index:5;
}
#banner .left-text, #banner .right-text {
font-family:Verdana, Arial;
font-size:22px;
font-style:normal;
color:#fff;
top:35px;
}
#banner .left-text {
position:absolute;
left:233px;
opacity:0;
z-index:8;
}
#banner .right-text {
position:absolute;
right:662px;
width:630px;;
font-size:24px;
opacity:0;
z-index:6;
}
Any suggestions?
The solution to Jquery To Animate A Flash To The Button Selected will be demonstrated using examples in this article. $("#someElement"). fadeOut(100). fadeIn(100).
jQuery Effect show() Method The show() method shows the hidden, selected elements. Note: show() works on elements hidden with jQuery methods and display:none in CSS (but not visibility:hidden). Tip: To hide elements, look at the hide() method.
The jQuery animate() method is used to create custom animations. Syntax: $(selector). animate({params},speed,callback);
I created a jsFiddle of your online markup.
The solution is to have a z-index
value for the left block of text, i.e. .left
and .left-text
so that it covers the incoming animation.
EDIT: For your 2nd Update listed in your question, I see your online HTML and online jQuery is a totally different method than what you have listed here. I see where your headed with this but theres a lot missing in your markup everywhere but you are on the right path.
I would suggest to use one of many free slideshow plugins that can be combined with your unique banner-text that has animation. Take a look at s3Slider DEMO here. Those banner text-boxs can be swapped out for your own slick version instead. The s3Slider homepage is HERE.
STATUS: Finally, a jsFiddle that re-creates the Flash Effect using a heavily modified s3Slider jQuery plugin that also validates using jsLint. I have a lot of comments in that Demo.
LINK: jsFiddle DEMO (Updated 12/26/2012)
For inspiration, here are some webkit examples of CSS3 Ad's vs Flash Ad's that look the same. Guess which!
Sounds like #banner
needs overflow: hidden;
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With