当我尝试连接一个值和+'px'时,px不会成功

时间:2013-10-15 02:50:05

标签: jquery

我正在使用jQuery创建一个滑块,我遇到了一个部分,其中两个vars相乘并且在末尾添加了'px'。 vars正确地相乘,但'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中收到以下错误:

  

解析'left'的值时出错。宣言下降。       左:666

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

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

var newPhotoPosition = navClicked * distanceToMove + 'px';

应该是

var newPhotoPosition = (navClicked * distanceToMove) + 'px';