Ergebnis 1 bis 4 von 4

Thema: Scrollify - Move durch Anker - Seite lädt neu

  1. #1
    Contao-Fan
    Registriert seit
    16.01.2012.
    Beiträge
    418

    Standard Scrollify - Move durch Anker - Seite lädt neu

    Guten Tag,

    baue eine Seite mit Scrollify auf und bis jetzt hat alles wunderbar funktioniert.
    Wenn ich nun aber eine Pagination hinzufügen will wie hier gezeigt:

    https://projects.lukehaas.me/scrolli...es/pagination/

    funktioniert das zwar ebenfalls und es scrollt zum richtigen platz, jedoch wird dann die seite neu geladen.

    <a href="#anker">

    wenn ich nun das {{env::request}} vor den anker schreibe funktioniert das Javascript nicht mehr. (laden tut er jedoch die Seite nicht mehr neu und der Hash verändert sich bei jedem klick der navigation)

    Code:
          <script>
       $(function() {
      $.scrollify({
    		section:".panel",
    	 sectionName: "section-name",
        scrollbars:true,
        
     before:function(i,panels) {
    
          var ref = panels[i].attr("data-section-name");
    
          $(".pagination .active").removeClass("active");
    
          $(".pagination").find("a[href=\"#" + ref + "\"]").addClass("active");
        },
        
          afterRender:function() {
          var pagination = "<ul class=\"pagination\">";
          var activeClass = "";
          $(".panel").each(function(i) {
            activeClass = "";
            if(i===0) {
              activeClass = "active";
            }
            pagination += "<li><a class=\"" + activeClass + "\" href=\" {{env::request}}#" + $(this).attr("data-section-name") + "\"><span class=\"hover-text\">" + $(this).attr("data-section-name").charAt(0).toUpperCase() + $(this).attr("data-section-name").slice(1) + "</span></a></li>";
          });
    
          pagination += "</ul>";
    
          $("#main").append(pagination);
          /*
    
          Tip: The two click events below are the same:
    
          $(".pagination a").on("click",function() {
            $.scrollify.move($(this).attr("href"));
          });
    
          */
          $(".pagination a").on("click",$.scrollify.move);
        }
    
      });
    });
    
          </script>
    Würd mich mega über hilfe freuen, da ich schon seit Stunden rumprobiere, zwar ständig neue Lösungsansätze finde, jeder dieser aber wieder einen Nachteil tag.

  2. #2
    Contao-Nutzer
    Registriert seit
    10.02.2012.
    Ort
    Basel
    Beiträge
    213
    Partner-ID
    8602

    Standard

    Zitat Zitat von Nacht69 Beitrag anzeigen
    Guten Tag,

    funktioniert das zwar ebenfalls und es scrollt zum richtigen platz, jedoch wird dann die seite neu geladen.
    Ich vermute das liegt ebenfalls daran, dass das Javascript nicht funktioniert.

    Hast du einen Link wo man sich das anschauen könnte?
    Werden irgendwelche Javascript-Fehler angezeigt?

  3. #3
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Ich mach das auch so: {{env::request}}#anker

    Hier der Javascript Code:

    Code:
    <script type = "text/javascript" language = "javascript">
    $('a[href*="#"]')
      .not('[href="#"]')
      .not('[href="#0"]')
      .click(function(event) {
        if (
          location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') 
          && 
          location.hostname == this.hostname
        ) {
          var target = $(this.hash);
          target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
          // Does a scroll target exist?
          if (target.length) {
            event.preventDefault();
            $('html, body').animate({
              scrollTop: target.offset().top -110
            }, 1000, function() {
              var $target = $(target);
              $target.focus();
              if ($target.is(":focus")) { 
                return false;
              } else {
                $target.attr('tabindex','-1'); 
                $target.focus(); 
              };
            });
          }
        }
      });
          </script>
    Hoffe es hilft

  4. #4

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •