使用jquery在转到url之前为整个菜单设置动画

时间:2015-07-22 13:55:43

标签: jquery url animation hyperlink

我有一个菜单,距离页面顶部大约200px。单击菜单中的链接时,我希望菜单滑动到页面顶部,然后才能继续访问URL。

我接近使用类似问题的建议,但我无法让它完美地运作。

这里是jsfiddle。 http://jsfiddle.net/tinat/b55k98dz/1/

问题是jquery没有从链接获取URL?注意:在jsfiddle中所有链接都是相同的,但实际上它们都是不同的,所以我不想在jquery代码中定义特定的URL,我希望jquery从链接中获取URL#39 ; s href属性,并在包装​​器div的动画结束后将浏览器带到它。

HTML:

CLLocationManager

jquery的:

<div id="alllinks"> 
 <a class="link" href="http://www.google.com" target="_blank">Click me 1</a>
 <a class="link" href="http://www.google.com" target="_blank">Click me 2</a>
 <a class="link" href="http://www.google.com" target="_blank">Click me 3</a>
 <a class="link" href="http://www.google.com" target="_blank">Click me 4</a>
</div>

CSS:

$('.link').on('click', function (e) {
    e.preventDefault();
    $('#alllinks').animate({
        top: '0px',
    }, 1000, function () {
        document.location.href = this.href;
    });
});

所有帮助表示赞赏!

1 个答案:

答案 0 :(得分:3)

在你的代码中尝试这个(似乎在小提琴中不起作用),

我们从点击的元素中获取href,然后将其传递给window.location.href方法。

$('.link').on('click', function (e) {
    var link = $(this).attr('href');
    e.preventDefault();
    $('#alllinks').animate({
        top: '0px',
    }, 1000, function () {
        window.location.href = link;
    });
});