如何尽快调用jQuery函数?

时间:2015-07-07 14:03:31

标签: javascript php jquery

所以我使用的是这里显示的PHP分页方法: How to create AJAX pagination without a database? 我的菜单有以下代码:

$(document).ready(function(){
    $("#my-btn").click(function(event) {
        event.preventDefault();
        $('html, body').animate({
            scrollTop: $("#div").offset().top
        }, 2000, "swing", function(){
            $("#shiny").effect('shake', {times: 1, direction: 'left', distance: 5}, 300);
        });
    });
});

由于只有一部分页面更改,我将菜单链接分开,将用户带入页面的不同部分。例如,如果第一页包含元素#div,则用户单击全局模板元素#my-btn(从菜单中)并且屏幕滚动并且文本抖动一次。但是,如果按钮实际链接到另一个页面怎么办?即使在包含不同元素的另一个页面上,我也希望执行相同的效果,例如#second-div

所以我想知道一旦用户点击菜单项并从index.php?limit=1&page=0移动到index.php?limit=1&page=1或反之亦然,是否有办法执行此功能。

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点:你可以使用一个类并使用它来指定元素。

... scrollTop: $('.myClass').offset().top ...

或者您可以在单击时传递id作为功能的一部分(意味着您必须为每个页面指定:

<a id="my-btn" href="javascript:void();" data-div="#second-div">Scroll Button</a>

<script>
$(function() {
    $("#my-btn").click(function(event) {
        event.preventDefault();
        var divToAnimate = $(this).data('div');
        $('html, body').animate({
            scrollTop: $(divToAnimate).offset().top
        }, 2000, "swing", function(){
            $("#shiny").effect('shake', {times: 1, direction: 'left', distance:                  5}, 300);
        });
    });
});
</script>