在jQuery中对同一个id调用两个方法

时间:2015-03-08 11:12:09

标签: jquery

我可能没有正确的术语(这就是为什么寻找这方面的帮助非常困难)所以我提前道歉......

我需要在jQuery中对同一个ID调用两个方法(?)。

以下是我目前的情况: -

jQuery(document).ready(function($) {
        $('#pinterest-feed').dcPinterestFeed({
            id: 'lolshop',
            results: 20
            });

        $('#pinterest-feed').simplyScroll({
                speed: 1,
                frameRate: 20,
                orientation: "horizontal",
                direction: "forwards",
                customClass: "pinterest_scroller",
                automode: "loop"
            });
            $("#pinterest_spinner").remove()
});

simplyScroll会将自身附加到ID pinterest-feed,但滚动条不会激活。我认为这是因为有一种方法(.dcPinterestFeed)已被触发该ID,我不知道?

我是否应该以不同的方式编写以上内容以确保两种方法(dcPinterestFeedsimplyScroll)都有效?

simplyScroll的另一个实例在同一页面上工作得很好(不同的ID),而不是id / class名称,代码是相同的(除了jQuery)所以通过消除过程,它会出现它只是在这种情况下不起作用是由于上面的jQuery。

我知道问题不是因为在同一页面上有两个simplyScroll实例,因为我完全删除了第二个实例,而且这个实例(上面)仍然没有滚动。

页面加载时控制台中没有错误但是,如果我在控制台中运行以下内容,则滚动开始,因为我试图实现: -

jQuery(document).ready(function($) {
    $('#pinterest-feed').simplyScroll({
            speed: 1,
            frameRate: 20,
            orientation: "horizontal",
            direction: "forwards",
            customClass: "pinterest_scroller",
            automode: "loop"
        });
        $("#pinterest_spinner").remove()
});

我相对肯定阻止滚动的问题是两个方法包含在包含的顶级jQuery代码中的方式。

有人能指出它应该如何写吗?

1 个答案:

答案 0 :(得分:1)

事实证明,jQuery代码没有任何问题,但#pinterest-feed的内容在执行.simplyScroll之前的加载速度不够快。

setTimeout上设置simplyScroll就行了,现在#pinterest-feed的内容按预期滚动。

    setTimeout(function() {

        $('#pinterest-feed').simplyScroll({
                speed: 1,
                frameRate: 20,
                orientation: "horizontal",
                direction: "forwards",
                customClass: "pinterest_scroller",
                automode: "loop"
            });
            $("#pinterest_spinner").remove()

    }, 3000);

呼。