Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:

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. června 14:03
Avatar
Taskkill
Redaktor
Avatar
 
Nahoru Odpovědět 21. června 16:19
Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:

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

 
Nahoru Odpovědět 21. června 17:23
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:

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. června 11:28
 
Nahoru Odpovědět 29. června 11:27
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na solta
Maxy_obr:

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. června 14:22
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na solta
Maxy_obr:

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. června 14:41
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:

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. června 15:29
Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:

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. června 19:38
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:

toto

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

nahradíš tímto

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

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. července 17:47
Avatar
solta
Člen
Avatar
Odpovídá na Maxy_obr
solta:

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. července 15:53
Avatar
Maxy_obr
Člen
Avatar
Maxy_obr:

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. července 11:48
Avatar
Odpovídá na Maxy_obr
Libor Šimo (libcosenior):

<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. července 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:

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. července 14:40
Avatar
Libor Šimo (libcosenior):

To si nerozumieme. Ja programujem stranku cez pspad editor.

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

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

Nahoru Odpovědět 22. července 18:46
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Maxy_obr
Taskkill:

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. července 23:17
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na Taskkill
Maxy_obr:

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. července 23:23
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Maxy_obr
Taskkill:

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. července 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.