Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:21.6.2016 14:03

Ahoj mám odkaz na kotvu a ta pozice je celkem nevyhovující. Nedá se nějakým způsobem odskrolování posunout například o 10px nahoru?

 
Odpovědět 21.6.2016 14:03
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Maxy_obr
Taskkill:21.6.2016 16:19

Jestli nevadí že je to odkaz na SO http://stackoverflow.com/…on-of-anchor

 
Nahoru Odpovědět 21.6.2016 16:19
Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:21.6.2016 17:23

Ten odkaz ale není prázdný a tak s ním nemohu pohybovat.

 
Nahoru Odpovědět 21.6.2016 17:23
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:29.6.2016 11:27

postup pomoci jquery zjistíš pozoci té kotvy pomocí funkce position a pak pomoci scrolltop odskroluješ na požadovanou pozici

$('.anchor').click(function(event){
                    var pos = $('#anchor').position();

                   $('body').scrollTop( pos.top -10);
                   event.preventDefault();
                });
Editováno 29.6.2016 11:28
 
Nahoru Odpovědět 29.6.2016 11:27
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na solta
Maxy_obr:30.6.2016 14:22

Já jquery neznám ale chápu to správně, že místo .anchor patří class odkazu na kotvu a #anchor nahradí id kotvy? Protože tak mi to nějak nejde. Chybová hláška nedefinovaná funkce.

 
Nahoru Odpovědět 30.6.2016 14:22
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na solta
Maxy_obr:30.6.2016 14:41

Tak né tohle je v pohodě. Ale nějak divně mi to počítá. Má to fungovat tak, že je odskroluje - 10px nad tu kotvu? Protože mi to leze úplně jinam. Asi o 280 px nahoru. Viz https://mombo.cz/chorvatsko tlačítko ohodnotit oblast.

 
Nahoru Odpovědět 30.6.2016 14:41
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:30.6.2016 15:29

budeš muset opravit všechny chyby které najdeš v konzoli a pak použij toto

$('#ohodnotit_oblast').click(function (event) {
        var pos = $('#comment-form').position();
        $('html').scrollTop(pos.top -60);
        event.preventDefault();
 });
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 30.6.2016 15:29
Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:30.6.2016 19:38

Díky, s těma chybama právě bojuju. Nějak mě zradil Drupal :D. Všechno jsem měl v pohodě a po udatu mi tam naskákala spousty chyb v konzoli a já moc nevím co s tím. Snad to nějak vyřeším. S tím html to nejde vůbec ale nevím zda to teda není těma chybama. A ještě bych si dovolil trochu otravovat.Šel by ten posun nějak jednoduše animovat?

 
Nahoru Odpovědět 30.6.2016 19:38
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:30.6.2016 21:14

toto

$('html').scrollTop(pos.top -60);

nahradíš tímto

$('html').stop().animate({scrollTop:(pos.top -60)}, '1000', 'swing');
 
Nahoru Odpovědět  +1 30.6.2016 21:14
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na solta
Maxy_obr:1.7.2016 17:47

Tak chyby v konzoli jsem opravil ale problém zůstal stejný. Jak odskrolování na špatné místo tak nefunkčnost s html namísto body. :/

 
Nahoru Odpovědět 1.7.2016 17:47
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:2.7.2016 15:53

máš stale stále chyby konzole píše několik neočekávaných značek
a použij toto

$('html, body').stop().animate({scrollTop: (pos.top - 60)}, '1000', 'swing');

výpočet (pos.top - 60) je pozice kam se ma scrollovat pak si uprav o kolik chceš scrollovat a mělo by se odčítat pokud chceš posouvat na horu

 
Nahoru Odpovědět 2.7.2016 15:53
Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:22.7.2016 11:48

Narazil jsem ještě na další problém. Script nefunguje z důvodů nenačtené knihovny jQuery. Ta se načítá až na konci HTML. Mysle jsem, že to jde vyřešit pomocí window.onload = function() nebo defer ale ani jedno nepomůže. Pouze ručně vložit knihovnu ještě před script. Jak to tedy mám řešit aby script počkal na načtení jQuery? Díky https://mombo.cz/chorvatsko

 
Nahoru Odpovědět 22.7.2016 11:48
Avatar
Odpovídá na Maxy_obr
Libor Šimo (libcosenior):22.7.2016 12:42

<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/sty­le.css" type="text/css" />
<script type="text/ja­vascript" src="js/jquery­.js"></script>
<title>xxx</title>
</head>
A súbor jquery.js si nakopíruj do js/, ktorá je v zložke projektu.

Nahoru Odpovědět 22.7.2016 12:42
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na Libor Šimo (libcosenior)
Maxy_obr:22.7.2016 14:40

To si nerozumíme, já tam script jQuery vkládám. Ale až na na konci HTML respektive to tak dělá CMS a na začátek to dávat nechci.

 
Nahoru Odpovědět 22.7.2016 14:40
Avatar
Libor Šimo (libcosenior):22.7.2016 17:12

To si nerozumieme. Ja programujem stranku cez pspad editor.

Nahoru Odpovědět 22.7.2016 17:12
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Nahoru Odpovědět 22.7.2016 18:42
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):22.7.2016 18:46

Ja považujem JS za plnohodnotný jazyk na riešenie webu.

Nahoru Odpovědět 22.7.2016 18:46
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Maxy_obr
Taskkill:22.7.2016 23:17

Podívej, jQuery musíš načíst dřív než se provede tvůj kód. Nejlepší bude ten tvůj kód vložit až po jQuery

 
Nahoru Odpovědět 22.7.2016 23:17
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na Taskkill
Maxy_obr:22.7.2016 23:23

V Drupalu se všechny knihovny načítají jako poslední v HTML. Asi správné řešení tedy bude napsat to do samostatného souboru a načíst ho až po jQuery. A nebo vzhledem k tomu, že je to pár řádků by se vyplatilo víc hodit to jQuery někam na začátek?

 
Nahoru Odpovědět 22.7.2016 23:23
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Maxy_obr
Taskkill:22.7.2016 23:45

Ne, na začátek ne. Leda že bys jí dal ne jako deffer ale async ... Spíš dej to svoje pod ní.

 
Nahoru Odpovědět 22.7.2016 23:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 20 zpráv z 20.