【发布时间】:2016-02-24 14:29:53
【问题描述】:
我正在尝试构建照片滑块。现在我不介意我做的方式不是那么好。我有兴趣知道为什么在我通过 jQuery 更改 TranslateX 值然后将其打印到控制台后它不会打印更改后的值?
var translateX;
function transX_func() {
var matrix = $('#img1, #img2, #img3, #img4, #img5').css('transform').split(/[()]/);
var newArray = new Array();
newArray = matrix[1].split(',');
for (a in newArray) {
newArray[a] = parseInt(newArray[a], 10);
}
var transX = newArray[4];
translateX = transX;
}
$('#next').click(function(event){
event.preventDefault();
transX_func();
if (translateX == 0) {
$('#img1, #img2, #img3, #img4, #img5').css({
'transform': 'translateX(-100%)'
});
transX_func();
console.log(translateX);
}
else {}
});
编辑: 由于您的 cmets,我在此处添加了整个代码:http://codepen.io/SaharShukrun/pen/pyzeRB
这不是我最初遇到问题的代码,但它非常相似,仍然出现同样的问题。
我已经通过了解导致 var 的值不更新的原因解决了这个问题,我已经在下面发布了答案。
【问题讨论】:
-
可能 console.log 没有等待 transX_func() 完成。你检查过吗?
-
一个简单的 MCVE 将有助于找到问题...
-
这个问题怎么能得到这么多的赞成票,而因为缺少相关的 MCVE 而应该关闭它?有人可以复制吗?
标签: javascript jquery css