2012-10-15 48 views
1

跳转到页面菜单我有一个包含每个部分的章节标题和页面数量的字符串如下:创建一个部分索引,并从字符串

string = "section1;section2;section3;section4|2 3 1 4" 

我想能够创建一个部分索引和使用标题作为整个文档中适当页面的链接。

有什么建议吗?我最初的想法是将字符串拆分为节标题和页数,然后拆分这些并将标题追加到无序列表中?这将照顾部分标题,但页面的数量呢?

var options = string.split('|'); 

    var sections = options[0]; 

    var section_titles = sections.split(';'); 

    for (a=0;a<section_titles.length;a++){ 
    $('ul').append('<li><div class="title">'+sections[a]+'</div></li>'); 
    }; 

    var counts = options[1]; 

    var section_counts = counts.split(' '); 

    ??????? 

请发送您的建议。

+0

我重读了几遍似乎无法理解你下一步想做什么的问题。另外,我认为'a elclanrs

+0

对不起,我基本上有一个应用程序,它将pdf文档合并并栅格化为一个文件。但是我想使用应用程序用来创建合并单个文件的目录的文件,它使用这些文件来创建。我知道文档标题和每个页面的计数,但无法找到将它们列为内容列表的方式,因此用户可以单击标题并转到文档中的该页面。这是否更有意义? – jlukin

回答

0

这里是结束了工作对我来说...

  • 我改变了字符串包括“称号;计数”由分隔|
  • 我outputing这是一个无序列表
var str = "section1;2|section2;3|section3;1|section4:4" 
var d = 0; 
var ul = $('<ul>'); 
var sec = toc.split('|'); 
var a = 0; 
    for (a = 0; a < sec.length; a++) { 
var secArr = sec[a].split(';'); 
    var sectiontitle = secArr[0]; 
    var sectioncount = secArr[1] * 1; 
var jump = d; 
d = d + sectioncount; 
    if (sectiontitle == ''){ 
    } else { 
    $('#sections').find('ul').append('<li><div class="toc"><div  class="title">'+sectiontitle+'</div></div><span class="jumper" 
style="display:none;">'+jump+'</span></li>'); 
    } 
    } 
0

如果您的应用程序是一个Web应用程序,并且您不想在pdf文档中创建索引,这将有所帮助。

最简单的方法是利用锚点和链接。

阅读这些请: link anchor

然后看到完整的代码示例波纹管。您可以将其全部复制到test.html文件中,然后在浏览器中打开它以查看它的行为。

<body> 

<script type="text/javascript"> 
document.write("\<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'>\<\/script>"); 
</script> 
<style> 
section{font-size:100px;} 
</style> 


First things first, your data setup seems odd. If you can change that string's setup, try going the JSON way. For example: 
<script> 
var jsonString = '{ "section1":2, "section2":3, "section3":1, "section4":4 }'; 

var objectFromJson = jQuery.parseJSON(jsonString); 
var ul = $('<ul>'); 
for (var prop in objectFromJson) 
{ 
    var li = $("<li>"); 
    var divTitle = $("<div>"); 
    divTitle.addClass("title"); 
    var titleLink = $("<a>"); 
    titleLink.text(prop); 
    titleLink.attr("href","#" + prop + "/" + objectFromJson[prop]) 
    divTitle.append(titleLink) 
    li.append(divTitle); 
    ul.append(li); 
    } 
$("body").append(ul); 
</script> 

If that is not possible, let's continue on what you have 
<script> 
var str = "section1;section2;section3;section4|2 3 1 4" 
var options = str.split('|'); 

var sections = options[0]; 
var numbers = options[1]; 

var section_titles = sections.split(';'); 
var numbersArr = numbers.split(' '); 

var ul = $('<ul>'); 
for (var a=0; a < section_titles.length; a++) 
{ 
    if(numbersArr.length > a) 
    { 
     var li = $("<li>"); 
     var divTitle = $("<div>"); 
     var titleLink = $("<a>"); 
     titleLink.text(section_titles[a]); 
     titleLink.attr("href","#" + section_titles[a] + "/" + numbersArr[a]) 

     divTitle.addClass("title"); 
     divTitle.append(titleLink) 
     li.append(divTitle); 
     ul.append(li); 
    } 
    } 
$("body").append(ul); 
</script> 


<section> 
<a name="section1/2">section1</a><br/><br/> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at tristique est. Curabitur rhoncus consequat sagittis. Proin pharetra elit nec turpis rutrum a lobortis nisi ornare. Nulla nec nisl diam, vel semper orci. Phasellus iaculis nibh a velit pulvinar sagittis eu ut massa. Cras vestibulum, urna sed ultrices consequat, purus leo venenatis lorem, a bibendum nibh eros ut leo. Curabitur viverra urna id ante mattis ultrices. Nulla et velit enim, vel condimentum magna. Vestibulum ullamcorper consectetur porta. Maecenas eget dui nec turpis condimentum aliquet in in risus. 
</section> 

<section> 
<a name="section2/3">section2</a><br/><br/> 
Ut ac blandit nisi. Phasellus fringilla, est vel hendrerit mollis, dui sem sagittis justo, eget fermentum odio ipsum at sem. Sed tempor, nibh eu vulputate vehicula, lectus neque eleifend erat, at tincidunt orci dui a tellus. Vestibulum viverra urna in tellus vestibulum semper. Etiam volutpat sodales rutrum. Morbi elementum, lacus ut fermentum malesuada, ipsum sem viverra arcu, ut consequat libero dui et arcu. Cras ut libero nulla, nec rhoncus erat. Integer id enim id nulla sagittis congue. Integer mollis tempor viverra. Ut non nisi sem, et semper lacus. Vivamus turpis mi, hendrerit non pellentesque a, iaculis id nibh. Pellentesque nec arcu magna, at posuere eros. Duis eu quam at nulla porttitor aliquet. Vestibulum cursus mattis purus, a sodales mi rhoncus vitae. Phasellus quis urna nec orci rhoncus consequat. 
</section> 

<section> 
<a name="section3/1">section3</a><br/><br/> 
Donec pellentesque congue sollicitudin. Fusce aliquam, velit et cursus iaculis, nisl massa vulputate magna, vitae imperdiet felis tortor sit amet purus. Vivamus aliquet laoreet ligula quis aliquet. Vivamus fringilla purus ut lorem faucibus viverra. Sed accumsan tincidunt tempus. Donec id velit in dolor luctus gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean sit amet nulla augue. Proin vel tincidunt est. Curabitur imperdiet elementum suscipit. Praesent dignissim magna eget sapien pretium vestibulum id at arcu. Integer egestas purus non. 
</section> 

<section> 
<a name="section4/4">section4</a><br/><br/> 
Donec pellentesque congue sollicitudin. Fusce aliquam, velit et cursus iaculis, nisl massa vulputate magna, vitae imperdiet felis tortor sit amet purus. Vivamus aliquet laoreet ligula quis aliquet. Vivamus fringilla purus ut lorem faucibus viverra. Sed accumsan tincidunt tempus. Donec id velit in dolor luctus gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean sit amet nulla augue. Proin vel tincidunt est. Curabitur imperdiet elementum suscipit. Praesent dignissim magna eget sapien pretium vestibulum id at arcu. Integer egestas purus non. 
</section> 


</body> 
+0

很酷,感谢您的快速回复。我使用jquery循环滑块将pdf格式化为jpg图像以供查看。我需要能够转到循环滑块中的部分的页码,所以我不认为锚会起作用。我想我需要以某种方式获取该部分开始的页码数量,使其不超过循环滑块的总页数。 – jlukin

相关问题