1

我在一个页面上有两个幻灯片 - 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>
4

0 回答 0