PDA

Zobacz pełną wersję : Przewijanie do zakładki



no name
05-06-2013, 14:40
Witam.

Domyślnie, po naciśnięciu jakiejkolwiek zakładki lub przejściu do innego okna strona automatycznie przeskakuje na samą górę, czy można to tak ustawić aby wyskakiwało na właściwej pozycji, żeby nie trzeba było przewijać?

Pozdrawiam

Jdwind
05-06-2013, 17:48
Kotwice powinny to załatwić.

no name
05-06-2013, 18:24
Raczej nie, bo linki nie mają atrybutu name. Zresztą zobacz sam: http://www.projects.wojtek1150.pl/medic/

Chodzi o to, żeby po kliknięciu na danych artykuł, bądź pozycje w menu, po prostu przewijało do treści

KES
05-06-2013, 22:39
Może ten kod ci pomoże:


jQuery('html, body').animate({jQuery('html, body').animate({jQuery('html, body').animate({
scrollTop: jQuery(".wp-postheader").offset().top
}, 2000);


Przesuwa stronę/suwak do miejsca w którym jest nagłówek artykułu.

no name
05-06-2013, 23:49
Nie wiem czemu, ale jak sobie zrobię pliczek html i tam dam taki kod to wszystko działa, ale już na stronie nie ;/

no name
18-06-2013, 19:03
Dzięki wielkie, działa


jQuery('html, body').animate({ scrollTop: jQuery(".wp-post-inner").offset().top
}, 2000);


Mam tylko pytanko, da się zrobić, żeby przy danym adresie - chodzi mi o stronę główną, żeby nie wykonywał skryptu?

KES
18-06-2013, 21:22
Możesz dodać klasy do pozycji w menu i one są dodawane do tagu body.

no name
18-06-2013, 23:36
Jest w tym trochę racji. Próbowałem na podobnej zasadzie - drugi styl, tylko dla strony głównej, w której nie będzie działał skrypt.

Jest to rozwiązanie, jednak na stronie głównej wyświetlane są jakieś wpisy, typowa strona główna. Więc jeśli kliknąć na którąś pozycję, ona jest przypisana do pozycji home, więc wtedy te artykuły, które są na stronie głównej po kliknieciu "czytaj więcej" też nie będą miały tego skryptu.

Znalazłem kod z ifem, aby ustawić kod na każdą stronę tylko nie główną. Ale przykład jest taki:


jQuery('#sidebar a').click(function() {
var bob = jQuery(this).attr("href");

if (bob == "") {
alert('I am empty href value');
}
});

Miałem nadzieję, że jak zrobię tak:

jQuery('html, body').animate({

var bob = jQuery(this).attr("href");

if (bob == "http://tutaj_link.com") { return false;
}
else
scrollTop: jQuery(".wp-post-inner").offset().top }, 2000);

Ale coś mi to nie idzie. Wydaje mi się, że coś źle robię

KES
19-06-2013, 00:32
Nie rozumiem kodu który chcesz zrobić.
Do strony głównej dodajesz klasę w Menu -> twoje_menu -> pozycja_home - tam w opcjach jest możliwość dodania klasy np. "home"


jQuery('body[class!="home"])').animate({
scrollTop: jQuery(".wp-post-inner").offset().top;
}, 2000);

Edit:
Teraz po głębszym zastanowieniu wiem o co Ci chodzi. Lecz można zmodyfikować ten kod który napisałem ponieważ w artykule można dodać id="article" do skryptu dodać warunek, że jak jest artykułem to aby dodał załadował skrypt