我在使用这个 jQuery 函数时遇到了问题,因为它不能正常工作,那就是 >> 获取第一个列表项并将其放在最后一个列表项之后(这就是产生无限效果的方式)',我不能让它无限效果
<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {
//move the last list item before the first item. The purpose of this is if the user clicks previous he will be able to see the last item.
//jQuery('#carousel_ul li:first').before(jQuery('#carousel_ul li:last'));
//when user clicks the image for sliding right
jQuery('#right_scroll img').click(function(){
//get the width of the items ( i like making the jquery part dynamic, so if you change the width in the css you won't have o change it here too ) '
var item_width = jQuery('#carousel_ul li').outerWidth() + 10;
//calculate the new left indent of the unordered list
var left_indent = parseInt(jQuery('#carousel_ul').css('left')) - item_width;
//make the sliding effect using jquery's anumate function '
jQuery('#carousel_ul').animate({'left' : left_indent},{queue:false, duration:500},function(){
//get the first list item and put it after the last list item (that's how the infinite effects is made) '
jQuery('#carousel_ul li:last').after(jQuery('#carousel_ul li:first'));
//and get the left indent to the default -210px
jQuery('#carousel_ul').css({'left' : '-210px'});
});
});
//when user clicks the image for sliding left
jQuery('#left_scroll img').click(function(){
var item_width = jQuery('#carousel_ul li').outerWidth() + 10;
/* same as for sliding right except that it's current left indent + the item width (for the sliding right it's - item_width) */
var left_indent = parseInt(jQuery('#carousel_ul').css('left')) + item_width;
jQuery('#carousel_ul').animate({'left' : left_indent},{queue:false, duration:500},function(){
/* when sliding to left we are moving the last item before the first item */
jQuery('#carousel_ul li:first').before(jQuery('#carousel_ul li:last'));
/* and again, when we make that change we are setting the left indent of our unordered list to the default -210px */
jQuery('#carousel_ul').css({'left' : '-210px'});
});
});
});
</script>