Слайд-шоу JQuery, индекс не продвигается - PullRequest
0 голосов
/ 28 апреля 2011

Привет, у меня проблема с тем, что я не могу решить, я использую imageswitch для создания слайд-шоу.

У меня есть следующий jquery:

// set up slideshow
    var IdxTR = <?php echo($totalRows_rs_gallery); ?>;
    var Idx =0;

    var ChangeImage = function(){  
        console.log('Idx: '+Idx+' - IdxTR: '+IdxTR+' Img: '+$(".SlImage").eq(Idx).attr("rel"));
        //If the image still animating, stop it and start the new one  
        $("#mainImage").ImageStop(true,true);  
        $("#mainImage").ImageSwitch({NewImage: $(".SlImage").eq(Idx).attr("rel")});    
        //Set the next image will be display  
        Idx = Idx++; 
        console.log('AFTER --- Idx: '+Idx+' - IdxTR: '+IdxTR+' Img: '+$(".SlImage").eq(Idx).attr("rel"));
        if(Idx>IdxTR){  
            Idx = 0;  
        }  
        //Start preload the next image  
        $.ImagePreload($(".SlImage").eq(Idx).attr("rel"));  
     };  
     var StartSlideShow = function(){
        IntervalKey = setInterval(ChangeImage,1000);
    };
StartSlideShow();

и в моем HTML у меня есть:

<div id="topcontainer">
<img id="mainImage" src="images/gallery/<?php echo $row_rs_gallery['image_gly']; ?>" />
<?php do { ?>
  <div class="SlImage" rel="images/gallery/<?php echo $row_rs_gallery['image_gly']; ?>"/>
  <?php } while ($row_rs_gallery = mysql_fetch_assoc($rs_gallery)); ?>
</div>

первый вывод console.log: Idx: 0 - IdxTR: 8 Img: images / gallery / alison.jpg

но второй consloe.log не отображается, и когда функция ChangeImage () запускается снова, idx не продвигается, и первый console.log выдает то же самое: Idx: 0 - IdxTR: 8 Img: images / gallery / alison.jpg

есть идеи, почему индекс не продвигается? или почему второй console.log не запускается?

здесь тестовая страница

1 Ответ

1 голос
/ 28 апреля 2011

Возможно, вам следует исправить ошибки, которые ваш javascript делает в первую очередь. Он продолжает выводить это:

Idx: 0 - IdxTR: 8 Img: images/gallery/alison.jpg
jquery-1.4.3.min.js:55Uncaught TypeError: Cannot read property 'handler' of undefined
information3.php:20Idx: 0 - IdxTR: 8 Img: images/gallery/alison.jpg
jquery-1.4.3.min.js:55Uncaught TypeError: Cannot read property 'handler' of undefined
information3.php:20Idx: 0 - IdxTR: 8 Img: images/gallery/alison.jpg

и так далее. Кажется, ошибка возникает после вашего console.log, но если она до вашего Idx ++, она никогда не изменится с 0, и это то, что вы видите

дополнение:
Теперь я в замешательстве ( начинает кофе ), но проверьте это. Попробуйте простой Idx+1 способ или ++Idx.

С этой страницы (я допускаю совершенно случайную страницу)

var a = 5;
   b = a++;
    (b contains the initial value of a, which is 5.
    a, on the other hand is now equal to 6)

   var a = 5;
   c = ++a;
    (In this case, JavaScript first adds 1 to a, changing
    its value to 6. This value is returned to c.
    Thus, c = 6)

Я не знаю, что происходит в вашем случае, но попробуйте простой +1 метод, пожалуйста?

...