Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Autoprzewijanie strony, Gdzie wstawić tą funkcję, żeby zadziałała na stronie?
Bart123
post 20.09.2014, 14:41:22
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


Mam w sekcji head strony header.php taką funckję

CODE


<script type="text/javascript" src="js/jquery-1.8.3.js"></script>


<script type="text/javascript">
function scroll_to(div){
$('html, body').animate({
scrollTop: $("masthead").offset().top
},1000);
}
</script>




Gdzie ją teraz wstawić żeby wywołać tą funkcję na stronie . Ma ona przewijać stronę tóż po jej wczytaniu, do nagłówka (omijając w ten sposób reklamę, która stoi nad nagłówkiem) - darmowe hostingi mają ten minus

Rzadko używam JS więc po prostu zapomniałem. Przypomnicie mi? Please.


Takie coś nie działa
CODE
<script type="text/javascript">scroll_to(div)</script>


Ten post edytował Bart123 20.09.2014, 15:10:11
Go to the top of the page
+Quote Post
Turson
post 20.09.2014, 14:58:38
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


A co mówi konsola? Niech będzie twoim przyjacielem
Go to the top of the page
+Quote Post
Bart123
post 20.09.2014, 15:06:17
Post #3





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


Czepia się wyłącznie kodowania znaków, które nie jest złe bo mam polske znaki normalnie.

O skrypcie nie ma nic.


Dodam jeszcze, że strona jest na bazie Wordpress, bo może to ma jakieś znaczenie.

Fukcję "staram się" wywołać zaraz po otwarciu body i diva o nazwie HFEED (to taki pojemnik na całość) tóż przed headerem.

Wcześniej zrobiłem jeden błąd bo wszelkie takie pierdoły w wordpress podaje się w sekcji head pliku NAGŁÓWKA. i tam oczywiście ją mam.


Początek tego pliku wygląda tak.

CODE


<div id="page" class="hfeed site">
<script type="text/javascript">scroll_to(div)</script>

<header id="masthead" class="site-header" role="banner">



Ten post edytował Bart123 20.09.2014, 15:17:47
Go to the top of the page
+Quote Post
Turson
post 20.09.2014, 15:47:12
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Kod
<script type="text/javascript">scroll_to(div)</script>

Co to jest "div" i w ogole po co przekazujesz skoro nie używasz w funkcji żadnego argumentu.
Go to the top of the page
+Quote Post
djgarsi
post 20.09.2014, 15:50:17
Post #5





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


O coś takiego chodzi?
http://jsfiddle.net/p7erpLok/


--------------------
Go to the top of the page
+Quote Post
adrianpl20
post 20.09.2014, 16:01:24
Post #6





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 20.02.2014

Ostrzeżenie: (10%)
X----


jak wyżej już wspomniano do wywalenia ten argument div z funkcji i z wywołania funkcji oraz w $('masthead') chyba brakuje # - bez tego prawdopodobnie wyszukuje tagi czyli szuka <masthead> a nie <div id="masthead">
Go to the top of the page
+Quote Post
Bart123
post 20.09.2014, 22:52:18
Post #7





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


Cba.pl ma tak cwanie zrobioną reklamę, że albo wyłączy się ją całkiem, albo w ogóle. Przy jednej reklamie da się zjechać w dół przy pomocy skryptu, a przy innej już nie. Po prostu nie działa.

Macie jakiś pomysł, jak może być zbudowana ta reklama, żeby blokować skrypt zjeżdżania w dół do nagłówka?

Tak z ciekawości pytam, bo tu zdążyłem się już przekonać, że nie ma rzeczy nie do przejścia.

Jakieś pomysły?
Go to the top of the page
+Quote Post
djgarsi
post 21.09.2014, 18:49:49
Post #8





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


Sprbóbuj w moim przykładzie zamienić linijkę
Kod
jQuery(document).ready(function() {

na
Kod
$(window).load(function(){


--------------------
Go to the top of the page
+Quote Post
Bart123
post 23.09.2014, 14:09:33
Post #9





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


dj grasi dzięki. Twoja poprawka oczywiście działa, bo ładuje skrypt już po załadowaniu strony do okna. Logiczne.

Ja przed Twoją podpowiedzią poradziłem sobie inaczej, ale Twoja podpowiedź jest lepsza więc z niej skorzystałem.

Mój sposób: Wystarczy dać niewidocznego diva, zawsze na tej samej wysokości dokumentu z position relative .

Dzięki temu jest on zawsze pod reklamą, która wyświetla się nad naszą stroną. Czyli jest tuż nad naszą stroną. Dajemy mu odpowiedni margin-top i wtedy jakby nie było, strona zawsze przewinie się tam, gdzie jest nasz niewidoczny div. Wystarczy tylko podać jego klasę w skrypcie.

Kocham takie zagadki wink.gif Choć na początku ich nienawidzę bo kompletnie nie qmam o co biega smile.gif

Ten post edytował Bart123 23.09.2014, 14:24:35
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2024 - 13:30