【发布时间】:2015-12-18 17:55:32
【问题描述】:
您好,我正在尝试使用 javascript 上传后获取图像宽度,由于 css,我还需要计算前一个宽度与新宽度之间的比率。 “imageatraiter”是图像。 我写了这段代码:
function taille_image(){
var largeurImage = document.getElementById("imageatraiter").width;
var sheet = window.document.styleSheets[1];
sheet.insertRule('@media (min-width: 768px) { .imageatraiter { width: 750px; }}', sheet.cssRules.length);
sheet.insertRule('@media (min-width: 992px) { .imageatraiter { width: 970px; }}', sheet.cssRules.length);
sheet.insertRule('@media (min-width: 1200px) { .imageatraiter { width: 1170px; }}', sheet.cssRules.length);
var coeff = largeurImage/document.getElementById("imageatraiter").width;
console.log(largeurImage);
console.log(coeff);
return coeff;
}
它几乎可以在 firefox 上运行,(我需要第一次刷新)但在 google chrome 上,宽度似乎是以前的。
如果您有任何疑问,请随时提问,希望有人能帮助我。
编辑:在 cmets 中按要求上传
$('#input-700').on('fileuploaded', function(event, data, previewId, index) {
//filename = replaceAll(data.files[index]['name'], '_', '-');
filename = data.files[index]['name'];
filename = filename.substr(0, filename.lastIndexOf('.'));//on enlève l'extension qui est apres le dernier '.'
path = 'uploads/'+filename+'.jpg';
$('#'+previewId).children().attr("src",path);//on charge l'image jpg en preview
$("#imageatraiter").attr("src",path);//on charge l'image jpg pour le traitement
// enable();//on enlève toutes les classes "disabled" pour pouvoir appliquer des opérations à l'image
var sheet = window.document.styleSheets[1];
sheet.deleteRule(sheet.cssRules.length-1);
sheet.deleteRule(sheet.cssRules.length-1);
sheet.deleteRule(sheet.cssRules.length-1);
// var largeurImage = "<?= $_SESSION['width'] ?>";
coeffImage = taille_image();// On reapplique les tailles jolies en css pour l'image et on calcul le coefficient
// console.log(largeurImage);
});
【问题讨论】:
-
你需要等待图片的加载事件
-
你能详细说明一下怎么做吗?
-
imageatraiter.onload = function(){console.log("I've been updated, you can do your fancy things with my new width and height")}如果您确实更新了多次,则仅附加一次此事件处理程序就足以让附加的函数每次都被调用。 -
似乎工作到此为止,不敢相信这么简单的事情,因为我在stackoverflow.com/questions/318630/… 上测试了所有答案,但没有一个对我有用!
标签: javascript jquery css google-chrome jquery-file-upload