2016-07-04 24 views
0

Ich habe eine Website, wo ich, wenn Sie auf das Menü auf der Indexseite klicken, möchte der Benutzer mit einem Anker zu diesem bestimmten Projekt an das Seitenarchiv umgeleitet werden. Also, wenn Sie auf Projekt klicken , Sie zu http://website.com/archive/# weitergeleitetJquery Include vorherige var in Funktion

Ich benutzte diesen HTML Code:

<a class="nav-menu <?php echo $post->ID; ?>" 
data-nav="<?php echo $post->ID; ?>" 
href="/archive#<?php echo $post->ID; ?>" > 

Mit diesem Code habe ich eine Daten-nav Attribut um den Inhalt zu extrahieren() für jeden Link meines Menüs, aber ich kann nicht scheinen, dass diese Werte im Skript unter verwendet werden.

$("a.nav-menu").each(function(){ 
    var testdata = $(this).data("nav"); 
    console.log(testdata); 
}); 

In meinem Konsolenprotokoll, erhalte ich 321, 340, 355 usw. so alle meine Projekte „name“ Und das ist das Skript, möchte ich die Werte von Testdaten in den Anker erhalten Teil

$('#fullpage').fullpage({ 
    scrollingSpeed: 1000, 
    anchors: ['364', '355', '341', '334', '321', '315'], 
    continuousVertical: true, 
    fixedElements: '#button1Id, #button2Id' 
}); 

ich habe gesucht, wie dies zu tun, aber ich habe nicht gefunden, wie ..

Antwort

1

ich habe eine Testfunktion für die Elemente aus Sie specifed

die HTML-Elemente, die ich Test auf sie gemacht sind

<a class="nav-menu 364" data-nav="364" href="/archive#364" >Test1</a> 
<a class="nav-menu 355" data-nav="355" href="/archive#355" >Test2</a> 
<a class="nav-menu 341" data-nav="341" href="/archive#341" >Test3</a> 
<a class="nav-menu 334" data-nav="334" href="/archive#334" >Test4</a> 
<a class="nav-menu 321" data-nav="321" href="/archive#321" >Test5</a> 
<a class="nav-menu 315" data-nav="315" href="/archive#315" >Test6</a> 

Das Script für diese Elemente Handhabung

ist
var array = []; 
$("a.nav-menu").each(function(){ 
    var testdata = $(this).data("nav"); 
    array.push(testdata); 
}); 
console.log(array); 

Ich habe vor iteating durch die Elemente leeres Array Initiiert dann kann ich es in blattgr funtion verwenden als

$('#fullpage').fullpage({ 
    scrollingSpeed: 1000, 
    anchors: array, 
    continuousVertical: true, 
    fixedElements: '#button1Id, #button2Id' 
}); 

folgt, wenn Sie Einzelteile wünschen Strings in Array sein sollten Sie

verwenden
var testdata = $(this).data("nav").toString(); 

Ich hoffe, dass meine Antwort nützlich ist

+0

Vielen Dank! Ich habe nie verstanden, wie Array funktioniert oder wie ich sie benutzen könnte. Das gibt mir viel mehr Verständnis – Dikeneko