2016-03-30 16 views
-3

changeSize() adlı bir işleve sahip olduğum, bunun yanında kullanacağım div/span vb. Boyutunu değiştirmek istiyorum. İşte benim kodudur: işlevin yanındaki kullanılır çünkü ('#square') ile changeSize (this) değiştireceğini söyleyerek tahmin

function changeSize(width, height) { 
    $(this).css('height', height); 
    $(this).css('width', width); 
} 

$('#square').changeSize(200, 200); 

- ama senin changeSize işlevi bir yöntem değildir değil

+6

'changeSize' yalnızca bir işlevdir ve – PeeHaa

+1

" işlevinin yanında "jquery nesnesiyle alakası yoktur? $ (this) olay kapsamına bağlıdır –

+0

işlevleri ve yöntemleri bu şekilde çalışmıyor. Bunu şöyle adlandırırsanız şöyle çalışabilir: 'changeSize.call ($ ('# kare'). Get (0), 200, 200), 'ancak jQuery'yi genişletmelisiniz. https://jsfiddle.net/obwLj7kq/ –

cevap

4

yapar jQuery nesnesi. Öğeyi bir parametre olarak geçirmeniz gerekir.

function changeSize(element, width, height) { 
    element.css('height', height); 
    element.css('width', width); 
} 

changeSize($('#square'), 200, 200); 
+0

Eğer 'changeSize' bir olay dinleyicisinden çağrılırsa, '$ (this)' olayı çağrıştıran eleman için geçerlidir. –

+0

@SterlingArcher elbette, ancak OP bir olayı tetiklemeyle ilgili hiçbir şeyden bahsetmedi – Guy

İlgili konular