ScrollTo不起作用

时间:2013-02-24 20:25:10

标签: jquery scrollto easing

我重新打开我之前的问题,因为它已被关闭,因为它不够具体。

我正在尝试使jQuery插件“ScrollTo”工作,但尽管使用了与doc描述的相同方法,但我确实做错了。

以下是我的工作方式:

<head>

的末尾调用jquery
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script type='text/javascript' src='js/jquery.scrollTo-min.js'></script>
<script type='text/javascript' src='js/init.js'></script>

我把代码放在菜单链接

<li><a title="$(...).scrollTo( 'home' );" href="#home"><span></span>Home</a></li>

这就是他们在doc中的表现:view-source:http://demos.flesler.com/jquery/scrollTo/

然而它不起作用。我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

在演示

<a title="$(...).scrollTo( 'home' );" href="#home">

title属性确实用于其原始目的,仅用于此目的。目的是在悬停时显示一个小工具提示。这个标题绝对不会被插件解释。

行为在他们的 js/init.js文件中编码,看起来像这样:

$('#relative-selector').click(function()
  $paneTarget.stop().scrollTo( 'li:eq(14)', 800 );
});
...
//the same for every link on the page

正确用法

主项目页面上描述了

,页面根本没有提到title属性。演示的目的是展示插件的可能性,它似乎不是为源代码检查而设计的。主页面URL是:
 http://flesler.blogspot.cz/2007/10/jqueryscrollto.html

在您的情况下,将ID(或类)添加到链接,以便您可以从Javascript中找到它。然后在链接中添加一个单击处理程序,它将调用该插件。如果您将字符串传递给scrollTo,则它应该是选择器而不是ID(添加#)。要滚动浏览器窗口,请使用scrollTo作为$.scrollTo,滚动任何其他容器,使用$(container).scrollTo。此外,您可以删除href目标。

示例HTML:

<a href="#" id="click-me">...</a>

示例JS:

$("#click-me").click(function(){
  $.scrollTo("#home");
});

如果你喜欢$(document).ready(...)中的脚本,请记得用<head>换行。另请注意,init.js demo 主JS文件的名称。如果您的名字另有说明,则不需要init.js文件,并且您当然不需要复制/粘贴演示文件中的文件。

答案 1 :(得分:0)

我怀疑将哈希符号添加到'home'可能会解决问题:

<li><a title="$(...).scrollTo( '#home' );" href="#home"><span></span>Home</a></li>

scrollTo似乎需要一个jQuery选择器(看起来你想要它),所以你需要使用哈希符号使它成为一个有效的选择器。