我正在使用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);
感谢。
答案 0 :(得分:1)
var newPhotoPosition = navClicked * distanceToMove + 'px';
应该是
var newPhotoPosition = (navClicked * distanceToMove) + 'px';