我有一個圖像(一個字母)顯示。通過按其他字母按鈕(change_letter功能)可以更改圖像。每個字母都有不同的寬度(從「I」的18px到「W」的35px)。我希望將div中的所有字母居中並使用獲取更改圖像寬度的即時更新
margin-left:-width/2+"px"
。但是,我得到的寬度值始終是前一幅圖像的寬度值。所以,在我將字母從「W」(35px)更改爲「I」(18px)後,「I」得到了餘量:-17.5px(W's),而不是-9px。
我不知道如何立即獲得新圖像的寬度。
change_letter: function(e) {
var txt = $(e.target).text().toLowerCase();
if (this.typeFace !==2) {
$('#customlogo_layer2').attr('src',function(_,old_src){
return old_src.replace(/_(\w)_/g,'_'+txt+'_');
});
$('#customlogo_layer3').attr('src',function(_,old_src){
return old_src.replace(/_(\w)_/g,'_'+txt+'_');
});
var layer2img = document.getElementById('customlogo_layer2');
var layer2width = layer2img.clientWidth;
var layer3img = document.getElementById('customlogo_layer3');
var layer3width = layer3img.clientWidth;
$('#customlogo_layer2').css({"margin-left":-layer2width/2+"px","margin-right":-layer2width/2+"px"});
$('#customlogo_layer3').css({"display":"block","margin-left":-layer3width/2+"px","margin-right":-layer3width/2+"px"});
}
else