Stephanie, questo è solo per chiarire ciò che jAndy ha dimostrato, con un po 'della mia risposta. Ma, essendo ancora relativamente nuovo a jQuery, posso riferire alla tua confusione. Separiamo il codice di jAndy e rispondiamo ai vostri commenti.
Sono anche confuso su come questo incorpora nel mio codice precedente, dove lo metto e quale è $ elem. e che è #someelement_id
Nel codice di jAndy, $ elem è l'elemento che stai cercando di posizionare. Sta usando #someelement_id
solo per rendere generico il suo esempio. Quindi, specifico per il codice, la sua
var $elem = $('#someelement_id');
sarebbe diventato
var $elem = $('#sm');
nel codice. Tutto quello che sta facendo è memorizzare il riferimento all'elemento (oggetto) nella variabile $elem
. Niente di strano lì non penso. Non sei sicuro del motivo per cui antepone $
al nome della variabile ...? Credo che lo var elem = $('#sm');
funzionerebbe allo stesso modo, a meno che non mi manchi qualcosa. Quindi, questo ti dà l'elemento su cui vuoi lavorare.
sto inserendo valori all'interno degli elementi position()? Per esempio posizione (10px) .top
No. Non se il tuo obiettivo è quello di mantenere l'elemento assolutamente posizionato nella sua posizione corrente. Se smontiamo quella riga del suo codice, $elem.position()
restituirà un oggetto che contiene le proprietà top
e left
. Puoi leggere il metodo di posizione qui jQuery API position (consulta lo jQuery API offset perché fornisce informazioni diverse e ti consente di fornire le coordinate per una nuova posizione per l'elemento). Quindi, per quanto posso dire, come dice jAndy nella sua risposta, il suo codice imposterà la posizione assoluta dell'elemento nella sua posizione corrente, quindi mantenendolo in posizione.
Non penso che questo sarebbe ciò che si desidera se in realtà si desidera spostare un elemento dalla posizione corrente in un'altra posizione. Per questo dovresti impostare la parte superiore e sinistra come risposta da Matt Asbury, oppure potresti utilizzare una combinazione delle due risposte se si desidera spostare l'elemento in una nuova posizione rispetto alla posizione corrente.Ad esempio,
$elem.css({
position: 'absolute',
top: $elem.position().top + 10,
left: $elem.position().left + 10
});
Oppure, con jQuery API offset, e combinando i due, credo che si potrebbe fare qualcosa di simile:
var newCoords = {
top: $elem.position().top + 10,
left: $elem.position().left + 10
};
$elem.offset(newCoords);
Non sai quale è l'approccio "migliore".
Anche il collegamento fornito da Nikkelman è buono, ma potrebbe esserci molto da capire se siete nuovi a jQuery.
Un altra cosa che ho notato, e forse ti ha lasciato queste cose perché sembravano evidenti, ma solo nel caso in cui:
- È necessario includere jquery.js da qualche parte, come si hanno incluso la tua slidemenu js.
- E di solito il codice jQuery dovrebbe essere racchiuso in un blocco
$(document).ready(function() {...});
, ma questo non è sempre necessario.
Speriamo che questo aiuti e non abbia solo confuso le acque per voi!
Perché è necessario per lo stile vostro elemento con jQuery ? Perché non i CSS? '#sm {position: fixed; inizio: 10px; a sinistra: 10px; } ' –