Link zu Anchor funktioniert nicht 100%
Eingetragen von stixer2 (113)
am 11.01.2016 - 20:58 Uhr in
am 11.01.2016 - 20:58 Uhr in
Hi.
Ich habe eine View, jede views-row gibt den Inhalt einer node aus und hat eine eigene ID (die NID).
<div id="16" class="views-row views-row-3 views-row-odd 16">
In einer Übersichtsseite verlinke ich zu der node per Anchor, also z.B. "/projekt#16"
Im Prinzip funktioniert das so, seltsamerweise aber nicht zuverlässig, also nicht immer. Manchmal – und auch nur bei einigen (ich glaube, bei den einstelligen) – springt die Seite irgendwohin, wenn ich die URL nochmal lade, dann funktioniert es.
Gibt es da irgendwas zu beachten oder was könnte das Problem sein? Muss man im Template was einstellen? Ich habe nichts dazu gefunden.
Mein Base-Theme ist Zen…
Danke und Grüße!
- Anmelden oder Registrieren um Kommentare zu schreiben
Vermutlich wird es keine
am 12.01.2016 - 00:05 Uhr
Vermutlich wird es keine Lösung sein, aber nie mit einer Zahl anfangen bei IDs:
https://wiki.selfhtml.org/wiki/HTML/Universalattribute#id
WEBTRANSFORMER
Das hatte ich auch schon
am 12.01.2016 - 01:17 Uhr
Das hatte ich auch schon überlegt. Aber auch mit #projekt[nid] – also #projekt16 funktioniert es nicht
Ich hatte es falsch
am 12.01.2016 - 01:42 Uhr
Ich hatte es falsch geschrieben, mein Theme ist Genesis (nicht Zen). Wenn ich Bartik aktivierem, klappt es, es muss also irgendwie am Genesis-Theme liegen.
Hat jemand eine Idee?
LG!
Schick doch mal einen Link.
am 12.01.2016 - 20:07 Uhr
Schick doch mal einen Link.
WEBTRANSFORMER
"Goekmen" schrieb Schick doch
am 13.01.2016 - 12:14 Uhr
Schick doch mal einen Link.
Ich habe die Seite leider nicht online…
Eigentlich arbeite ich seit neuem mit Zen, habe deswegen die Seite mit Zen neu gemacht. Anfangs ging es noch, irgendwann dann auch damit dasselbe Problem.
Ich habe deshalb jetzt jQuery eingesetzt, weil out-of-the-box scheint das mit Ankern in Drupal nicht zuverlässig zu sein. Das kenne ich aber auch schon von anderen Seiten.
Mal grundsätzlich: Ist jQuery für solche Probleme eine A- oder eher eine B-Lösung?
Es kann verschiedene Ursachen
am 13.01.2016 - 13:11 Uhr
Es kann verschiedene Ursachen haben: HTML Fehler, Drupal-Theme Problem, Javascript Problem, Browserbug (Hallo Safari).
Befinden sich die Anker auf der gleichen Seite oder springt du auf einen Anker einer anderen Seite?
Wenn du schon jQuery einsetzt, dann verwende gleich ein Plugin wo auch alles wenigstens animiert wird und mehr Optionen hat(Beispiele):
https://github.com/kswedberg/jquery-smooth-scroll
https://github.com/ChrisWojcik/single-page-nav
WEBTRANSFORMER
Ich vermute, dass irgendwie
am 13.01.2016 - 14:11 Uhr
Ich vermute, dass irgendwie Ladezeiten oder time-outs verantwortlich sind. Safari nutze selbstredend nicht…
Die Anker befinden sich auf einer anderen Seite. Deswegen funktionieren diese ganzen smooth-scroll-Pis auch nicht richtig.
Ich habe mir da was eigenes zusammengebastelt, das scrollt sogar:
var jump=function(e)
{
if (e){
e.preventDefault();
var target = $(this).attr("href");
}else{
var target = location.hash;
}
$('html,body').animate(
{
scrollTop: $(target).offset().top
},500,function()
{
location.hash = target;
});
}
$('html, body').show()
$(document).ready(function()
{
$('a[href^=#]').bind("click", jump);
if (location.hash){
setTimeout(function(){
$('html, body').scrollTop(0).show()
jump()
}, 0);
}else{
$('html, body').show()
}
});