在我的图像轮播中,主要变化的是margin-left
. 由于知道了这个值,我想尝试解释一个幻灯片编号(如“图像 3 of 4”)。我得到了所有幻灯片的数量:
var all_slides_width = $('#gallery_wrapper').outerWidth();
var slide_width = $('.image_content').outerWidth();
var slide_quantity = all_slides_width / slide_width;
然后我想通过以下方式获取当前可见图像的数量:
var margin_left = parseInt($('#gallery_wrapper').css('margin-left'));
var slide_count = parseInt(-margin_left + slide_width) / slide_width;
并显示它:
<span class="slide_number"></span>
<script>
$( '.slide_number' ).text( 'Image ' + slide_count + " of " + slide_quantity);
</script>
问题是,margin-left
每张新幻灯片都会发生变化。所以我需要一个slide_count
每次更改时都会更改的循环margin-left
。我怎样才能做到这一点?每一秒的AsetTimeout
显然是非常低效的。这是我当前状态的一个小提琴:http: //jsfiddle.net/cqgnvsce/