JQuery动作向下滚动窗口

时间:2013-08-02 11:20:22

标签: jquery scroll window

我正在运行此JQuery脚本来滚动divs

http://jsfiddle.net/sg3s/rs2QK/

jQuery(function($) {

        $('a.panel').click(function() {
            var $target = $($(this).attr('href')),
                $other = $target.siblings('.active');

            if (!$target.hasClass('active')) {
                $other.each(function(index, self) {
                    var $this = $(this);
                    $this.removeClass('active').animate({
                        left: $this.width()
                    }, 500);
                });

                $target.addClass('active').show().css({
                    left: -($target.width())
                }).animate({
                    left: 0
                }, 500);
            }
        });

    });

问题是,例如,如果在这两个div之上有一个标题,它有一些高度,JQuery将向下滚动窗口以获取相同的标题高度。

有没有办法阻止这种情况?

谢谢

1 个答案:

答案 0 :(得分:0)

在将事件绑定到锚元素时,在底部使用 return false 。这会阻止在网址中添加#和您的问题。

   $(document).ready(function(){
    $('a.panel').click(function(e) {
        e.stopPropagation();
        var $target = $($(this).attr('href')),
            $other = $target.siblings('.active');

        if (!$target.hasClass('active')) {
            $other.each(function(index, self) {
                var $this = $(this);
                $this.removeClass('active').animate({
                    left: $this.width()
                }, 500);
            });

            $target.addClass('active').show().css({
                left: -($target.width())
            }).animate({
                left: 0
            }, 500);
        }
        return false;
    });
});