2016-09-26 71 views
1

我在我的项目中使用PagePiling ,特别是添加菜单的选项。动态添加选项到脚本

每则只需添加HTML文档:

<ul id="myMenu"> 
    <li data-menuanchor="firstPage" class="active"><a href="#firstPage">First section</a></li> 
    <li data-menuanchor="secondPage"><a href="#secondPage">Second section</a></li> 
    <li data-menuanchor="thirdPage"><a href="#thirdPage">Third section</a></li> 
    <li data-menuanchor="fourthPage"><a href="#fourthPage">Fourth section</a></li> 
</ul> 

和JS内:

$('#pagepiling').pagepiling({ 
    anchors: ['firstPage', 'secondPage', 'thirdPage', 'fourthPage', 'lastPage'], 
    menu: '#myMenu' 
}); 

不过,我想补充的动态菜单元素,例如:

<ul id="myMenu"> 
    while ($loop->have_posts()) : $loop->the_post(); ?> 
     <li data-menuanchor="<?php sanitize_title(the_title()); ?>"><a href="#<?php sanitize_title(the_title()); ?>"><?php the_title(); ?></a></li> 
    <?php endwhile; ?> 
</ul> 

我如何更新js中的选项?

+0

将你的字符串添加到数组和'implode'它到你的js? – Blake

+0

也许你的问题应该是“如何动态添加部分”? 菜单不是问题...问题是动态地将锚点分配给新节。 – Alvaro

回答

0

我认为你可以通过JS获得menuanchor数组。

var myAnchors = []; 

$("#myMenu li").each(function(index) { 
    myAnchors.push($(this).attr("data-menuanchor")); 
}); 

console.log(myAnchors); 

$('#pagepiling').pagepiling({ 
    anchors: myAnchors, 
    menu: '#myMenu' 
});