1

我正在使用 jQuery 创建一个滑块,但在将两个变量相乘并在末尾添加一个“px”的部分遇到了问题。变量正确相乘,但未将“px”添加到最终结果中。

这里是 jQuery"

    $(document).ready(function(){ 
        // Find all photos
            $('img.marquee_panel_photo').each(function(index){
                var photoWidth = $('.marquee_container').width();
                var photoPosition = index * photoWidth;
                $('.marquee_photos').append('<img class="marquee_photo" style="left: '+photoPosition+'" src="'+$(this).attr('src')+'" alt="'+$(this).attr('alt')+'" width="'+photoWidth+'" height="331" />');
                $('.marquee_photos').css('width', photoPosition+photoWidth);
            });

        // Navigation Links

        $('.marquee_nav a').click(function(){
        $('.marquee_nav a').removeClass('selected');
        $(this).addClass('selected');

        var navClicked = $(this).index();
        var marqueeWidth = $('.marquee_container').width();
        var distanceToMove = marqueeWidth * (-1);
        var newPhotoPosition = navClicked * distanceToMove + 'px';

        $(' .marquee_photos').animate({left: newPhotoPosition}, 1000);
        });
    }); 

我在 FireBug 中收到以下错误:

解析“左”的值时出错。声明被放弃。左:666

我检查了其他几个 Stackoverflow 帖子,我使用的语法似乎是正确的。我在这里做错了什么?

注意:我尝试替换以下值来证明它可以正常工作并且确实可以正常工作,因此 + 'px' 编码有一些东西:

$(' .marquee_photos').animate({left: '-666px'}, 1000);

谢谢。

4

1 回答 1

1
var newPhotoPosition = navClicked * distanceToMove + 'px';

应该

var newPhotoPosition = (navClicked * distanceToMove) + 'px';
于 2013-10-15T02:55:24.620 回答