2016-07-19 45 views
0

我有這個小函數來打印圖像大小。 雖然它的工作原理,但我只是呼叫功能 與size('#prototype);例如,它不再在resize('#protoimg)上工作。jQuery選擇器作爲參數不起作用

爲什麼?任何人都可以幫我解決問題嗎?

$(document).ready(function(){ 
    function size(a){ 
    var height = $(a).height(); 
    var width = $(a).width(); 
    $('#picbox').find('p.size').remove(); 
    $('#picbox').append('<p class="size">' + width + '-' + height + '</p>'); 
    } 

    size('#protoimg'); 
    $(window).resize(size('#protoimg')); 
)}; 
+0

你確定你不錯過一個角色? - > size('#prototype'); – kapantzak

+0

將$(window).resize移出jQuery的準備包裝。 –

回答

1

試試這個:

$(function() { 
     size('#protoimg') 
    }); 

    $(window).resize(function() { 
     size('#protoimg'); 
    }); 

    function size(a){ 
     var height = $(a).height(); 
     var width = $(a).width(); 
     $('#target').html('<p class="size">' + width + '-' + height + '</p>'); 
    } 

如果#protoimg是圖像文件時,請確保您設置屬性width="100%"以避免溢出。

+0

hm,還沒有工作 – Gregor

+0

謝謝,這是現在的工作。我很困惑,爲什麼它沒有與我的代碼工作,但它的工作:) – Gregor

+0

不客氣。 :) –

0

嘗試把刪除的function size(a)$(document).ready();的,把裏面$(window).resize();

像這樣:

function size(a){ 
    var height = $(a).height(); 
    var width = $(a).width(); 
    $('#picbox').find('p.size').remove(); 
    $('#picbox').append('<p class="size">' + width + '-' + height + '</p>'); 
    } 
$(document).ready(function(){ 
$(window).resize(function() { 
    size('#protoimg'); 
}); 
    }); 
0

只要記住,在$(窗口).resize(參數)需要函數作爲參數。但大小('#protoimg')是function.so正確的代碼是:

$(document).ready(function(){ 
    function size(a){ 
    var height = $(a).height(); 
    var width = $(a).width(); 
    $('#picbox').find('p.size').remove(); 
    $('#picbox').append('<p class="size">' + width + '-' + height + '</p>'); 
    } 

    size('#protoimg'); 
    $(window).resize(function(){ 
     size('#protoimg'); 
    }); 
)};