Javascript幻灯片仅适用于页面上的幻灯片显示的一个实例

时间:2013-02-28 11:44:31

标签: javascript slideshow

我在页面上有两个幻灯片 - cems.uwe.ac.uk/~s3-gupta/starterpack/wireless.php - 一个位于“Eduroam with Windows”链接下,另一个位于“Eduroam on Mac”链接下。第二个(mac)不起作用 - 相反,它在第一个幻灯片放映结束时加载图像。我将需要在此页面上放置更多幻灯片,以及其他幻灯片。是否有任何方法可以使幻灯片单独在页面上的多个实例上工作 - 所以我可以有多个单独的幻灯片放映?

jsfiddle在这里:http://jsfiddle.net/bud7u/

使用Javascript:     

    $(document).ready(function(){
        var currentPosition = 0;
        var slideWidth = 560;
        var slides = $('.slide');
        var numberOfSlides = slides.length;

        // Remove scrollbar 
        $('#slidesContainer').css('overflow', 'hidden');

        // Wrap all .slides with #slideInner div
         slides
            .wrapAll('<div id="slideInner"></div>')
            // Float left to display horizontally, readjust .slides width
            .css({
            'float' : 'left',
            'width' : slideWidth
         });

        // Set #slideInner width equal to total width of all slides
         $('#slideInner').css('width', slideWidth * numberOfSlides);

        // Insert controls in the DOM
         $('#slideshow')
          .prepend('<span class="control" id="leftControl">Clicking moves left</span>')
          .append('<span class="control" id="rightControl">Clicking moves right</span>');

        // Hide left arrow control on first load
        manageControls(currentPosition);

      // Create event listeners for .controls clicks
      $('.control')
        .bind('click', function(){
        // Determine new position
        currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;

        // Hide / show controls
         manageControls(currentPosition);
        // Move slideInner using margin-left
        $('#slideInner').animate({
        'marginLeft' : slideWidth*(-currentPosition)
        });
    });

     // manageControls: Hides and Shows controls depending on currentPosition
     function manageControls(position){
    // Hide left arrow if position is first slide
    if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
    // Hide right arrow if position is last slide
     if(position==numberOfSlides-1){ $('#rightControl').hide() } else{ $('#rightControl').show() }
     }  
    });
</script>

0 个答案:

没有答案