我正在使用 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);
谢谢。