javascript - 滚动到名称为 "foo"的随机类

标签 javascript jquery html arrays

我用 div 做到了这一点。我的标题是这样的

<div id="foo"></div>
<div id="foo2"></div>
<div id="foo3"></div>
<div id="foo4"></div>
<a class="bar">go to random div</a>

然后使用 jquery 我转到一个随机的 div id。

$(document).ready(function() {
    // Create an array of links
    $("a.bar")
    foo = new Array;
    foo[0] = "#foo";
    foo[1] = "#foo2";
    foo[2] = "#foo3";
    foo[3] = "#foo4";

$("a.bar").click(function() {
        randomLink = Math.round(Math.random() * (foo.length - 1));
        $("html, body").animate({
            scrollTop: $(foo[randomLink]).offset().top + "px"
        }, {
            duration: 7000,
            easing: "easeInOutExpo"
        });
        return false;
    });
});

我现在想做同样的事情,但要用一个类(class)。因此,示例 HTML 代码为:

<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
<a class="bar">go to random class</a>

我将如何为这种情况做等价的 jquery,请记住有不同数量的 <div class="foo"></div>。 ?


问题。

我不知道如何为每个类(而不是每个 div)创建等效数组...因为它们是相同的...

有什么想法吗?

最佳答案

你可以用 .eq() 函数做到这一点,

var foo = $('.foo');  //Grab all the elements with the class foo

$("a.bar").click(function() {
        randomLink = Math.round(Math.random() * (foo.length - 1));
        $("html, body").animate({
            scrollTop: foo.eq(randomLink).offset().top + "px"  
               //pass the random no to .eq() called over .foo collection
        }, {
            duration: 7000,
            easing: "easeInOutExpo"
        });
        return false;
    });
});

关于javascript - 滚动到名称为 "foo"的随机类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24219832/

相关文章:

jquery - 包含名为 "-1"的对象的 JSON

javascript - 带有 jQ​​uery 的 CSS 选项卡 : displaying just the content of current tab

javascript - 循环对象时 array.filter 未定义

javascript - Protractor + Selenium Chrome Docker = WebDriverError : unknown error: Chrome failed to start: exited normally

javascript - 在加载网页之前如何显示 "loading"图像和一些文本

javascript - 仅更改 jquery 插件中的一种选择样式

javascript - 如何在 JQuery 中暂停图像在鼠标上滑动

javascript - 自动页面刷新后点击功能不起作用

javascript - 如何让js从python发出请求并在python应答时将加载的站点保留在适当的位置

Javascript 返回 false 不起作用