自己的幻灯片菜单/轨道滑块

发布于 2024-11-27 06:25:15 字数 1235 浏览 1 评论 0原文

我对轨道滑块有一些问题。我想用自定义标签做我自己的 html 项目符号菜单,如下所示:

<div id="thumblist">
    <ul>
        <li data-tags="group1"><img alt="1" src="thumbs/nameqq.png" /></li>
        <li data-tags="group1"><img alt="2" src="thumbs/nameww.png" /></li>
        <li data-tags="group1"><img alt="3" src="thumbs/nameee.png" /></li>
    </ul>
</div>

但 Orbit slider 生成“li”标签(带有数字)。

这是此插件中的项目符号部分:

//Bullet Nav Setup
if(options.bullets) { 
    var bulletHTML = '<ul class="orbit-bullets"></ul>';             
        orbitWrapper.append(bulletHTML);
        var bullets = $('ul.orbit-bullets');

        for(i=0; i<numberSlides; i++) {
            var liMarkup = $('<li>'+(i+1)+'</li>');

            $('ul.orbit-bullets').append(liMarkup);
            liMarkup.data('index',i);
            liMarkup.click(function() {
            stopClock();
            shift($(this).data('index'));
            });
        }
        setActiveBullet();
}

那么,如何更改此 JS,使其从 img 中获取 alt 标签并更改幻灯片图像?

请帮忙:)

I have some problem with Orbit slider. I want to do my own html bullet menu with custom tags, like this:

<div id="thumblist">
    <ul>
        <li data-tags="group1"><img alt="1" src="thumbs/nameqq.png" /></li>
        <li data-tags="group1"><img alt="2" src="thumbs/nameww.png" /></li>
        <li data-tags="group1"><img alt="3" src="thumbs/nameee.png" /></li>
    </ul>
</div>

but Orbit slider generated 'li' tags (with numbers).

This is bullet section in this plugin:

//Bullet Nav Setup
if(options.bullets) { 
    var bulletHTML = '<ul class="orbit-bullets"></ul>';             
        orbitWrapper.append(bulletHTML);
        var bullets = $('ul.orbit-bullets');

        for(i=0; i<numberSlides; i++) {
            var liMarkup = $('<li>'+(i+1)+'</li>');

            $('ul.orbit-bullets').append(liMarkup);
            liMarkup.data('index',i);
            liMarkup.click(function() {
            stopClock();
            shift($(this).data('index'));
            });
        }
        setActiveBullet();
}

so, How to change this JS, that it will take alt tag from img and changed slide images?

Please help :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆离笙 2024-12-04 06:25:15

如果您想从数字更改为 alt 标记,可以更改以下行:

var liMarkup = $('

  • '+(i+1)+'
  • ');

    To:

    var liMarkup = $('<li>' + $('#YOUR_SLIDESHOW_WRAPPER_DIV').children().eq(i).attr('alt') + '</li>');
    

    其中 YOUR_SLIDESHOW_WRAPPER_DIV 是您调用插件的 div(如果您使用的是演示代码,则为“精选”)。

    由于几个关键原因,您还需要更改 CSS。

    1. 文本缩进:-9999px;需要删除,以便 alt 标签中的文本可见。
    2. li 标签的宽度和高度需要设置为适合您的 alt 标签的宽度和高度。
    3. 除非您删除该 css 属性,否则背景仍将显示一个点。

    注意:这是针对上述 css 更改进行更改的声明: .orbit-bullets li

    另请注意:如果您在幻灯片中的图像(或内容)周围使用 或 标签,则应该在它们上设置 data- 属性,而不是依赖于其中图像的 alt 标签。如果您这样做,则需要将上面的代码示例中的 attr('alt') 更改为 attr('data-alt')。例如:

    <div id="featured">
        <a data-alt="this is an alt tag of sorts"><img src="..."></a>
        <img data-alt="yet another data-alt tag" src="...">
        <div data-alt="third and final data-alt tag"><img src="...">some text on this one too</div>
    </div>
    

    If you want to change from numbers to the alt tags you can change the following line:

    var liMarkup = $('<li>'+(i+1)+'</li>');

    To:

    var liMarkup = $('<li>' + $('#YOUR_SLIDESHOW_WRAPPER_DIV').children().eq(i).attr('alt') + '</li>');
    

    Where YOUR_SLIDESHOW_WRAPPER_DIV would be the div that you call the plugin on ("featured" if you are using the demo code).

    You also need to change the CSS for a few key reasons.

    1. text-indent: -9999px; needs to be removed so the text from the alt tags will be visible.
    2. width and height for the li tags needs to be set to something in which your alt tags can fit.
    3. the background will still display a dot unless you remove that css attribute.

    NOTE: This is the declaration to alter for the above css changes: .orbit-bullets li

    ANOTHER NOTE: If you are using or tags around your images (or content) within the slideshow, you should set a data- attribute on them rather than relying on the alt tags on the images within them. If you do this you need to change attr('alt') to attr('data-alt') in the code example above. For example:

    <div id="featured">
        <a data-alt="this is an alt tag of sorts"><img src="..."></a>
        <img data-alt="yet another data-alt tag" src="...">
        <div data-alt="third and final data-alt tag"><img src="...">some text on this one too</div>
    </div>
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文