【问题标题】:Set current slide for jQuery slider on page load Easy Slider在页面加载时为 jQuery 滑块设置当前幻灯片 Easy Slider
【发布时间】:2011-06-16 16:18:33
【问题描述】:

我正在使用带有幻灯片的 jQuery 滑块 Easy Slider 作为指向其他页面的链接。加载的其他页面也有带有相同幻灯片的滑块,以相同的顺序,具有相同的链接。

我不知道如何在页面加载时设置当前幻灯片。

例如:有四张幻灯片。单击幻灯片三并加载页面时,我希望滑块位于幻灯片三上。跟踪链接令人沮丧,然后必须导航回之前的幻灯片。

我最初是使用 AJAX 从幻灯片链接加载附加页面,但是在加载附加页面时会调用另一个 jQuery 脚本并且不会调用 $(document).ready 函数。

我没有修改 Easy Slider 脚本中的任何内容,并且正在使用默认选项。这是来自 Easy Slider 的幻灯片示例代码。

<!-- markup example for $("#slider").easySlider(); -->
<div id="slider">
    <ul>
        <li><a href="someLink1"><img src="images/01.jpg" alt="" /></a></li>
        <li><a href="someLink2"><img src="images/02.jpg" alt="" /></a></li>
        <li><a href="someLink3"><img src="images/03.jpg" alt="" /></a></li>
        <li><a href="someLink4"><img src="images/04.jpg" alt="" /></a></li>
    </ul>
</div>

我认为应该可以在 li 标签中添加一个 id 并以某种方式修改 JS 以引用它......只是不知道从哪里开始。

任何帮助和指导都会很重要!

谢谢。

【问题讨论】:

    标签: javascript jquery slider


    【解决方案1】:

    我不确定该插件的具体情况,但我建议您使用 AnythingSlider - http://css-tricks.com/anythingslider-jquery-plugin/ - 这将允许您使用井号标签链接到特定幻灯片。因此,您的链接将附加类似 #slide-4 之类的内容 - 然后插件将其设置为活动链接。

    【讨论】:

    • 我要检查一下...我会告诉你的。
    • 为了节省时间,我开始调试并使用 AnySlider。这东西很好用。
    【解决方案2】:

    您可以使用 .live() 函数http://api.jquery.com/live/通过 AJAX 调用您的旧脚本

    或者使用服务器端(php)来改变imgaes的顺序

    或 jquery 查找元素并使用 .detach() 删除,然后 .append() 将其放回堆栈顶部

    希望对你有帮助

    【讨论】:

    • 我试过了,但没有用。我认为这些问题可能是我正在使用 Drupal,所以有些事情有点麻烦。
    • 只要 JS 是正确的,它不会影响它是由什么制作的。 Drupal 将处理后端而不是浏览器端,如果最后一个不起作用,我将重新访问 Jquery 调用。
    【解决方案3】:

    我没有用滑块测试过这个,但它的逻辑应该可以工作(使用 jQuery cookie 插件):

    // check if a cookie is stored
    if( $.cookie('pageId') != null ){
        // change the order of the li elements according to cookie ID stored
        $('#slider ul li:lt('+$.cookie('pageId')+')').appendTo($("#slider ul"));
    }
    
    // initiate slider
    $("#slider").easySlider();   
    
    // handle click events
    $('#slider a').click(function(e){
        // prevent the click from going through 
        e.preventDefault();
        // store cookie with clicked item index
        $.cookie("pageId",$('#slider a').index(this));
        // forward the user onwards to the link url
        window.location = $(this).attr('href');
    });
    

    【讨论】:

    • 我真的很喜欢你用这个去的地方......但它没有用。我确保下载并包含 cookie 插件。有什么想法吗?
    • @danstever 是否有任何 JavaScript 错误?有什么事吗?你有在某处预览的链接吗?
    • 我应该作为,应该有任何附加信息添加到 html 中吗?我保持原样。
    • @danstever 应该可以按原样工作。您能否上传您的页面以供预览,以便我自己查看问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2020-01-23
    • 1970-01-01
    • 2020-11-25
    相关资源
    最近更新 更多