我重新打开我之前的问题,因为它已被关闭,因为它不够具体。
我正在尝试使jQuery插件“ScrollTo”工作,但尽管使用了与doc描述的相同方法,但我确实做错了。
以下是我的工作方式:
在<head>
<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/
然而它不起作用。我错过了什么吗?
答案 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选择器(看起来你想要它),所以你需要使用哈希符号使它成为一个有效的选择器。