【问题标题】:Customize labels for JavaScript Pagination elements with jQuery使用 jQuery 自定义 JavaScript 分页元素的标签
【发布时间】:2012-11-12 08:07:15
【问题描述】:

这是未经编辑的脚本:

// for each slide create a list item and link
control.children().each(function(){
    $('.' + option.paginationClass, elem).append('<li><a href="#'+ number +'">'+ (number+1) +'</a></li>');
    number++;
});

这是分页脚本的一部分。脚本的这种作用将标记附加到幻灯片中的每个幻灯片链接,首先将第一个链接标记为“1”,然后为每个附加的幻灯片链接添加 1;因此,创建一组导航链接来控制幻灯片。我有四张幻灯片,所以链接列表看起来像:'1 2 3 4'...我相信您已经知道“分页”是什么...

我该怎么做:我希望能够编辑上述脚本以在每个幻灯片链接附加时输出特定的特定标记(而不是'1 2 3 4'强>)。以下是我的脚本编辑版本,其中混入了一些伪代码。您可以阅读它以获得更好的想法。

这是我自定义每个单独链接的尝试:

// for each slide create a list item and link
control.children().each(function(){

     if (number = 1) {LABEL = 'Link for slide 1 blah'}
     if (number = 2) {LABEL = 'Lnk for slide 2 boo'}
     if (number = 3) {LABEL = 'Link fore slide 3 foo'}
     if (number = 4) {LABEL = 'Linkage fo slide 4 yoooou'}

     $('.' + option.paginationClass, elem).append('<li><a href="#'+ number +'">'+ (LABEL) +'</a></li>');
     number++;
});

这是一个在没有可视化演示的情况下提出的棘手问题,但具有出色 JavaScript/jQuery 技能的人肯定可以看到缺少的内容或需要添加的行。这将有助于大量 UI / UX 开发人员想要更轻松地自定义分页链接以进行基本导航甚至幻灯片放映。提前致谢!

【问题讨论】:

  • “我希望能够编辑上述脚本以在每个幻灯片链接附加时输出特定的、特定的标记”..... 怎么样?
  • 看起来你正在这样做。有什么问题?
  • 在我的伪尝试中,只有第一个“if”有效,其他 3 个被忽略;因此所有 4 个标签都具有相同的“标签”。该脚本缺少在每个追加时重命名“LABEL”的方法,现在它只在第一次追加时重命名。

标签: javascript jquery pagination label customization


【解决方案1】:

嗯,你是在设置值而不是比较它们,所以你所有的if 语句都是true,更改:

 if (number = 1) {LABEL = 'Link for slide 1 blah'}

收件人:

 if (number === 1) {LABEL = 'Link for slide 1 blah'}

注意each函数的第一个参数是index,所以不需要使用++操作符。

control.children().each(function(number){

你也可以定义一个数组:

var labels = [
    'The First Label',
    'Second One',
    '...'
];

和代码:

 $('.' + option.paginationClass, elem)
   .append('<li><a href="#'+ number +'">'+ labels[number] +'</a></li>');

【讨论】:

  • 谢谢你,我试过 '=' 和 '==' 但没有尝试 '===';即使它在我的脑海里。您确实准确地回答了这个问题,但是我现在使用锚标签遇到了其他一些问题。我做了一个 jsFiddle 演示:jsfiddle.net/khJyz/112。我需要修改锚附加吗?再次感谢。
  • JS 相当冗长,但请搜索“LINKZZZ”以查找您在此演示中编辑的行 jsfiddle.net/khJyz/113
  • @user1644123 不客气,它说href 是未定义的,你得到一个TypeErrorTypeError: $("." + option.paginationClass + " li." + option.currentClass + " a", elem).attr("href") is undefined
  • 它在编辑之前工作。另外,我没有得到 typeError,我正在运行 FireFox16.0.2/windows 并且 PREV / NEXT 按钮工作,但 LABEL 链接不能正常工作。我如何才能将其与您已添加的内容相匹配?
  • 哦,那个演示中有一个错字,这里是更正的演示:jsfiddle.net/khJyz/115 ...再看看。不过我的问题也一样。
猜你喜欢
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-28
  • 2016-10-31
  • 1970-01-01
相关资源
最近更新 更多