jquery, moving the current item to the top
Posted
by azz0r
on Stack Overflow
See other posts from Stack Overflow
or by azz0r
Published on 2010-05-22T10:10:47Z
Indexed on
2010/05/22
10:20 UTC
Read the original article
Hit count: 306
Hello,
The problem I'm having is that if the fourth item has a long description, it cuts off as it goes below #features.
What I was hoping is someone would have a suggestion on how to make the current item selected to move to the top?
Code below:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="/library/jquery/1.4.js"></script>
<script>
Model.FeatureBar = {
current:0,
items:{},
init: function init(options){
var me = this;
me.triggers = []
me.slides = []
this.container = jQuery('#features');
jQuery('.feature').each(function(i){
me.triggers[i] = {url: jQuery(this).children('.feature-title a').href, title: jQuery(this).children('.feature-title'),description:jQuery(this).children('.feature-description')}
me.slides[i] = {image: jQuery(this).children('.feature-image')}
});
for(var i in this.slides){
this.slides[i].image.hide();
this.triggers[i].description.hide();
}
Model.FeatureBar.goToItem(0);
setInterval(function(){Model.FeatureBar.next()},5000);
},
next: function next(){
var i = (this.current+1 < this.triggers.length) ? this.current+1 : 0;
this.goToItem(i);
},
previous: function previous(){
var i = (this.current-1 > 1) ? this.current-1 : this.triggers.length;
this.goToItem(i);
},
goToItem: function goToItem(i) {
if (!this.slides[i]) {
throw 'Slide out of range';
}
this.triggers[this.current].description.slideUp();
this.triggers[i].description.slideDown();
this.slides[this.current].image.hide();
this.slides[i].image.show();
this.current = i;
},
}
</script>
</head>
<body>
<div id="features">
<div class="feature current">
<div style="display: none;" class="feature-image">
<a href="google.com"><img src="/design/images/four-oh-four.png"></a>
</div>
<h2 class="feature-title"><a href="google.com">Item 3</a></h2>
<p style="display: none;" class="feature-description"><a href="google.com">Item 3 description</a></p>
</div>
<div class="feature">
<div class="movie-cover">
<a href="/movie/movie"><img src="/image1" alt="" title=""></a>
</div>
<div style="display: block;" class="feature-image">
<a href="/rudeboiz-14-arse-splitters/movie"><img src="/images/Featured/rude.png"></a>
</div>
<h2 class="feature-title"><a href="/rude/movie">Item 2</a></h2>
<p style="display: block;" class="feature-description"><a href="/rude/movie">Item 2 description</a></p>
</div>
<div class="feature">
<div style="display: none;" class="feature-image">
<a href="/pissed-up-brits/movie"><img src="/design/images/four-oh-four.png"></a>
</div>
<h2 class="feature-title"><a href="/pis/movie">Item 1</a></h2>
<p style="display: none;" class="feature-description"><a href="/pis/movie">Item one description</a></p>
</div>
<div class="feature">
<div style="display: none;" class="feature-image">
<a href="what.com"><img src="/images/Featured/indie.png"></a>
</div>
<h2 class="feature-title"><a href="what.com">Item 4</a></h2>
<p style="display: none;" class="feature-description"><a href="what.com">Item 4 description</a></p>
</div>
</div>
</body>
</html>
© Stack Overflow or respective owner