1

我正在使用anythingslider,如果您熟悉它,您可能会知道它具有以下功能:

hashTags : true,      // Should links change the hashtag in the URL?

您可以使用它来为每张幻灯片生成唯一的 URL,就好像它们是页面一样。但缺点是它会为主题标签生成通用名称。(例如

http://www.mysite.com/#&panel1-2

我的问题是,如何将这些主题标签的名称更改为每张幻灯片的自定义名称?

现在我正在使用以下功能使其在导航栏中显示每个幻灯片标题:

navigationFormatter : function(i, panel){
    return panel.find('h6').text();
}

我所做的就是在<h6>元素中添加标题。那么,我怎样才能使用这些标题来重命名主题标签呢?

4

2 回答 2

2

您可以关闭默认哈希并使用onSlideComplete回调来更新窗口哈希(演示;和全屏演示):

*注意:h6 也有一个 id(不允许空格)与 h6 的文本(允许空格,并在导航选项卡中使用)

HTML

<ul id="slider">   
    <li>
        <img src="http://placekitten.com/320/200" alt="" />
        <h6 id="meow">Meow</h6>
    </li>
    <li>
        <img src="http://placehold.it/320x200" alt="" />
        <h6 id="grey">Grey</h6>
    </li>
    <li>
        <img src="http://placebear.com/320/200" alt="" />
        <h6 id="rawr">Rawr</h6>
    </li>
    <li>
        <img src="http://dummyimage.com/320x200/000/fff.jpg" alt="" />
        <h6 id="bnw">Black & White</h6>
    </li>
    <li>
        <img src="http://placedog.com/320/200" alt="" />
        <h6 id="woof">Woof</h6>
    </li> 
</ul>

脚本

$('#slider').anythingSlider({

    // Should links change the hashtag in the URL?
    hashTags: false,

    // Details at the top of the file on this use (advanced use)
    navigationFormatter: function(index, panel) {
        return panel.find('h6').text();
    },

    // Callback when the plugin finished initializing
    onInitialized: function(e, slider) {
        slider.$items.find('h6').each(function(){
            // add some prefix to the id so setting the hash doesn't
            // make the page jump
            this.id = "tmp_" + this.id;
        });
    },

    // Callback when slide completes - no event variable!
    onSlideComplete: function(slider) {
        var hash = '#' + slider.$currentPage.find('h6')[0].id.replace(/tmp_/,'');
        // remove prefix so hash works on page load
        window.location.hash = hash;
    }

});

这是另一个使用面板 ID 而不是 h6 ID 的演示。

于 2012-01-17T03:33:24.937 回答
0

我从来没有使用过任何东西,但如果你想改变它的主题标签,你可以开始window.location.hash在脚本中寻找开始,因为哈希生成部分将从那里开始。

于 2012-01-17T01:44:09.050 回答