2014-09-09 4 views
0

Я пытаюсь отобразить высоту & ширину определенного изображения внутри div. Однако теперь он отображает «undefined». Я предполагаю, что это связано с тем, что onload является функцией ASYN. Я довольно новичок в coffeescript/javascript, и я пытаюсь изучить его. Но как я могу включить обратный вызов?Обратный звонок для загрузки изображения

getMeta = (url, callback) -> 
    img = new Image() 
    img.src = url 
    console.log(img) 
    img.onload = -> 
    console.log("load") 
    width = @width 
    height = @height 

imageUrl = "http://imgcdn.igdb.com/images/limbo/6843_screenshot_show_6843_at_igdb_com.jpg" 
meta = getMeta imageUrl 


$("#debug").html("Height: " + meta.height + "px W: " + meta.width + "px") 

ответ

0

Но, если вы действительно хотите это наверху, попробуйте:

$("document").ready(function() { 
    $("#click").click(function() { 
     var img = new Image(); 
     img.onload = function() { 
      $("#debug").html("Height: " + this.height + "px W: " + this.width + "px") 
     } 
     img.src = $("#img_url").val(); 
    }); 
}); 

и HTML

<input id="img_url" type="text"> 
<div id="click">Click Here</div> 

<div id="debug"></div> 

Пример: http://jdl-enterprises.co.uk/sof/25742662.php

+0

мне нужно будет вызвать функцию несколько раз, как и там, url статичен + div #debug также должен быть динамическим – Sharpless512

+0

Are y у вас будет окно ввода, которое его вызывает? –

+0

Я отредактировал свой комментарий с более динамичным подходом –

Смежные вопросы