jQuery autoAnchors.js插件发布到侧边栏

时间:2012-11-13 22:46:04

标签: javascript jquery plugins

我正在使用autoAnchors.js

我希望这个脚本:   1.搜索H1标签   2.为这些创建锚点   3.将这些菜单的菜单发布到另一个div(#sidebar)

目前,该脚本将执行1和[2],但会将菜单发布到同一个ID /类的顶部,而不是单独的。

看起来我需要改变:return this 把菜单张贴在其他地方。

非常感谢任何支持。

这是当前的脚本:

(function($) {

    $.fn.autoAnchors=function(settings){
        var defaults = {
            anchor: 'h2',
            title: '',
            numbering: false
        };
        var s = $.extend(defaults, settings);

        var mcnt = 0;
        this.each( function() {
            mcnt++;

            var links = '<div class="autoanchors">';
            if (s.title){
                links += s.title;
            }
            links += '<ul>';

            var cnt = 0;
            $(this).find(s.anchor).each( function() {
                cnt++;

                var title = $(this).text();
                var filteredtitle = title.replace(/[^a-zA-Z0-9\s]+/g,'').replace(/\s/g,'_');

                if (s.numbering){
                    title = '<span class="numbering">'+cnt+'</span>'+title;
                    $(this).html('<span class="numbering">'+cnt+'</span>'+$(this).html());
                }

                links += '<li><a href="#'+mcnt+'.'+cnt+'.'+filteredtitle+'">'+title+'</a></li>';
                $(this).attr("id",mcnt+'.'+cnt+'.'+filteredtitle);
            });

            links += '</ul></div>';

            if (cnt > 0){
                $(this).prepend(links);
            }
        });

        return this;
    };

})(jQuery);

我目前正在使用:

$(".pageMainContent").autoAnchors( 
  {
    anchor: 'h1',
    title: '',
    numbering: false
  }
);

0 个答案:

没有答案