Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Dlaczego nie działa
Forum PHP.pl > Forum > Przedszkole
Kmils21
mam to:
$(this).find('input').each(function(){
var offset = $(this).offset();
console.log(offset.left + offset.top);
}
efekt:
offset.left = 0
offset.top = 0

dlaczego nie pobiera mi pozycji?
Tajgeer
Na pewno chcesz wykonać .find() na rzecz $(this)?

Swoją drogą, to funkcja .each() nie jest poprawnie zamknięta.
Kmils21
Swoją drogą, to funkcja .each() nie jest poprawnie zamknięta.
Wiem - nie dałem całego kodu.
W linku podałeś inny kod niż mam ja. Tak na pewno .find() na rzecz $(this), bo to jest metoda, a ten $(this) to obiekt.
Tajgeer
W takim razie pokaż więcej kodu, bo nie wiadomo względem czego chcesz pobrać offset().
Kmils21
(function($){
$.fn.test = function(){
$(this).find('input').each(function(){
var offset= $(this).offset();
console.log(offset.left + ' ' + offset.top);
});
};
})(jQuery);
Tajgeer
A przykładowy sposób wywołania? Czy po prostu funkcję test() odpalasz w momencie ładowania strony i tyle?
Kmils21
dziwne, bo tu działa http://jsfiddle.net/JBvyv/4/
Tajgeer
Skoro działa, tzn. że u Ciebie widocznie jest jakiś błąd. W konsoli nie ma żadnych wpisów? Nie ma żadnych konfliktów z innymi bibliotekami JS?
Kmils21
Właśnie nie ma żadnych błędów. Nie działa offset(), a Inne metody takie jak .css() czy fade() itp. już działają

Wywołuję funkcje na divie i wskazuje ona na zero, jednak kiedy nadam temu divowi id np,: "idediva" i wpisze w konsoli to

var x $("#idediva").offset; console.log(x.left); to już wskazuje wartość

Dobra zlamiłem. Element był "display:none" w momencie pobierania pozycji.
zegarek84
skoro rozszerzasz prototype jQ to po co przekazujesz this (który nie jest surowym elementem DOM tylko instancją obiektu jQ) do konstruktora jQ?
$(this).find... questionmark.gif
dopiero w metodzie .each this kontekstem odnosi się do elementów jQ...
http://jsfiddle.net/JBvyv/7/
[JAVASCRIPT] pobierz, plaintext
  1. (function($){
  2. $.fn.test = function(){
  3. this.find('input').each(function(){
  4. var offset= $(this).offset();
  5. console.log(offset.left + ' ' + offset.top);
  6. });
  7. };
  8. })(jQuery);
  9.  
  10. $("#a").test();
[JAVASCRIPT] pobierz, plaintext
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.