2009-07-26 6 views
2

Question rapide: C'est un peu difficile à décrire alors laissez-moi vous montrer un exemple.Appelez une fonction Javascript dans une instruction en ligne

Y at-il de toute façon de le faire: (J'utilise jQuery, mais cela est une question javascript général)

$ ('de div.element') offset() x;.. Offset() par lui-même retournera {'x': 30, 'y': 180}, donc je me demande s'il y a une façon compacte de le faire sans créer une variable supplémentaire.

Merci! Matt

Répondre

4

Comme vous l'avez dit, vous pouvez absolument utiliser:

$('div.element').offset().left 

OU

$('div.element').offset().top 

S'il vous plaît noter que offset() déclarations de jQuery { left: 30, top: 180 } pas x/y paire comme vous avez dit.

+0

merci pour la correction Shog :) –

+0

Ahhh. C'est ce qui m'a fait trébucher. Je suis idiot - je ne regarde pas la documentation. Merci mec. – Matt

0

L'objet sera toujours créé. Je pense que vous voulez dire .top ou .left au lieu de x/y?

>>> $('#jq-header').offset().left // 177.5 
var coords = $('#jq-header').offset() 
coords.left // 177.5 
coords.top // 0 
alert($('body').offset().left) // 0 

http://docs.jquery.com/CSS/offset

-3

Apparemment, vous pouvez faire la chose exacte que vous avez dit: $('div.element').offset().x;.

Questions connexes