Jquery滚动到页面顶部而不是必需的div

时间:2014-10-03 20:28:09

标签: javascript jquery html css jquery-isotope

你可以在这里看到http://jsfiddle.net/Stratos123/qywaLszg/我想要做的代码。同位素工作得很好,当你点击图像时,框会打开并显示正确的信息,但是一旦点击框,页面会滚动到html页面的顶部,而不是滚动到导航在红色框下面的位置。示例

如果我更改以下代码

  // Portfolio Open and close   
  $(document).ready(function() {
    $('.portfolio li a').click(function() {
      var itemID = $(this).attr('href');
      $('.portfolio').addClass('item_open');

to:

  // Portfolio Open and close   
  $(document).ready(function() {
    $('.gallery li a').click(function() {
      var itemID = $(this).attr('href');
      $('.gallery').addClass('item_open');

投资组合完全打开和关闭,但是同位素不会起作用。

有什么想法吗?我已经为此工作了将近两个星期了。疯了。

2 个答案:

答案 0 :(得分:2)

我想你想要这样的东西http://jsfiddle.net/qywaLszg/6/embedded/result/


<强>更新

要使用ul列表,您需要在调用过滤器时调整类

此处的工作示例http://jsfiddle.net/qywaLszg/9/embedded/result/

$('#filter li a').click(function () {
         $('#filter li.selected').removeClass('selected');
         $(this).parent().addClass('selected');
         var selector = $(this).parent().attr('data-filter');
         $container.isotope({
             filter: selector,
             animationOptions: {
                 duration: 750,
                 easing: 'linea',
                 queue: false
             }
         });
         return false;
     });

只需添加CSS

#portfolio{
    position: relative;
}

在jQuery中

$(".portfolio ul li a").click(function () {
     $('html, body').animate({
         scrollTop: $("#top").offset().top
     }, 400);
 });

答案 1 :(得分:0)

我想,因为parseInt不能在字符串中

$(".portfolio ul li a").click(function() {
 $('html, body').animate({
  scrollTop: parseInt($("#top").offset().top)
 }, 400);
});

另外,在每次点击功能上,你都可以

return false;