jQuery的:使用类名选择与动画()方法不起作用(jQuery: using class name

2019-11-05 00:30发布

我刚刚发现Barba.js ,并发现它是非常有用的。 它提供了相同的网站网址之间的平滑过渡。

我已经把一个Plunker包括被顺利装两页(index.html,然后about.html),与jQuery的的帮助fadeIn()fadeOut()方法。

我想不仅要褪色的关于我们的页面,但向下滚动一些250像素了。

为了这个目的,我有:

  1. 加了班在关于我们页面的HTML标签: <html class="about">
  2. 在增加的script.js这个:

    $('html.about, html.about body').animate({ scrollTop: 300 },1000);

埃文虽然页面滚动,如果没有类名选择在脚本中提到的,上面的版本不工作。 但我想只有 “关于我们”页面,进行动画处理。

我应该怎么改?

Answer 1:

“关于我们”页面和索引页面显示在同一页面上,一个新的HTML文档不呈现的每一页。 每一页的内容简单地写比前一个,即在内部.barba-wrapper div元素。 所以,一个滚动的页面是要“滚动另一个人”,因为它们是在同一页上。

<html>元素保持页面之间切换一样,它从来没有得到一个类about 。 这就是为什么你选择不工作,以滚动页面。

如果您希望页面回去当顶回来只是动画回顶端上巴尔巴改变它。 你可以这样做:

  1. 添加一个事件侦听器linkClicked事件
  2. 检查所单击页面
  3. 如果不是关于我们页面滚动页面顶端如果需要的话

Barba.Dispatcher.on('linkClicked', function(link,event) {
   if(!link.href.includes('about.html') {
     $('html, html body').animate({
       scrollTop: 0
     },1000);
   }
});


文章来源: jQuery: using class name selectors with the animate() method does not work