我有一個:last
和.before()
方法沒有在最後一個元素之前插入代碼的一個奇怪的問題。jQuery旋轉木馬跳轉到錯誤的項目
[編輯]
我想出了一個新的問題:/
的問題是(現在的<li>
的是按順序) ,旋轉木馬將滾動4個項目,但他們很快跳到下一個項目。
下面的代碼。 (也,我認爲是這樣的:$('#carousel_ul').css({'left' : '0px'});
這是做什麼的 - 上線19
的37
非常感謝
$(document).ready(function() {
var numItems = $('#carousel_ul').find('li');
var visibleItems = 4;
var difference = visibleItems % numItems.length;
$('#carousel_ul li').last().before($('#carousel_ul li:last')+$('#carousel_ul li:last'));
while (difference > 1) {
$('#carousel_ul li:last').after('<li class="empty" style="background-color: green;"></li>');
difference--;
}
$('#right_scroll a').click(function(){
var item_width = $('#carousel_ul li').outerWidth() + 10;
var left_indent = parseInt($('#carousel_ul').css('left')) - (item_width * 4);
$('#carousel_ul:not(:animated)').animate({'left' : left_indent},1500,function(){
$('#carousel_ul li:last').after($('#carousel_ul li:first'));
$('#carousel_ul').css({'left' : '0px'}); //error here?
});
return false;
});
$('#carousel_ul li').each(function(intIndex) {
var itemName = $(this).attr('name');
$(this).html(itemName);
console.log(itemName);
});
$('#left_scroll a').click(function(){
var item_width = $('#carousel_ul li').outerWidth() + 10;
var left_indent = parseInt($('#carousel_ul').css('left')) + (item_width * 4);
$('#carousel_ul:not(:animated)').animate({'left' : left_indent},1500,function(){
$('#carousel_ul li:first').before($('#carousel_ul li:last'));
$('#carousel_ul').css({'left' : '0px'}); //error here?
});
return false;
});
$('#tabcontainer > ul').tabs();
});
而CSS:
#carousel_inner {
float:left; /* important for inline positioning */
width:800px; /* important (this width = width of list item(including margin) * items shown */
height: 150px;
position: relative;
overflow: hidden; /* important (hide the items outside the div) */
/* non-important styling bellow */
background: #F0F0F0;
z-index: 15;
}
#carousel_ul {
position:relative;
left:0px; /* important (this should be negative number of list items width(including margin) */
list-style-type: none; /* removing the default styling for unordered list items */
margin: 0px;
padding: 0px;
width:9999px; /* important */
height: 150px;
min-height: 150px;
/* non-important styling bellow */
padding-bottom:10px;
z-index: 15;
}
#carousel_ul li{
float: left; /* important for inline positioning of the list items */
width:205px; /* fixed width, important */
/* just styling bellow*/
padding:0px;
border: 1px solid black;
height:150px;
min-height: 150px;
z-index: 15;
}
#carousel_ul li img {
.margin-bottom:-4px; /* IE is making a 4px gap bellow an image inside of an anchor (<a href...>) so this is to fix that*/
/* styling */
cursor:pointer;
cursor: hand;
border:0px;
z-index: 15;
}
#left_scroll, #right_scroll{
float:left;
height:130px;
width:15px;
background: #C0C0C0;
z-index: 15;
}
#left_scroll img, #right_scroll img{
/*styling*/
cursor: pointer;
cursor: hand;
z-index: 15;
}
您確定'#carousel_ul'中有下劃線嗎? – Sarfraz 2010-07-28 19:28:36
@sAc - yup,tis'carousel_ul' – 2010-07-28 19:34:06
已更新的問題。 – 2010-07-28 19:58:19