我需要帮助获得Ariel Flesler的jquery scrollTo插件的工作。我可以得到它的工作只是很好,如果我做以下(注意:这是一个web表单网站,所以jquery包含在母版页):
<head>
<script type="text/javascript" src="Scripts/jquery.scrollTo.min.js"></script>
<script type="text/javascript">
jQuery(function ($) {
var $paneTarget = $('#pane-target');
$('#ctl00_DetailsBoxHolder_LinkButton5').click(function () {
var $target = $paneTarget.find('#div14');
$paneTarget.stop().scrollTo($target, 800);
});
});
</script></head>
...
...
<ul>
<li>
<asp:LinkButton ID="LinkButton5" runat="server">
jQuery object</asp:LinkButton></li>
</ul>
<div id="pane-target">..bunch of elements...
<ul>..bunch more elements...
<li><div id="div14">etcetc</div></li>
..bunch more elements...</li>
</ul>
</div>
好的,这很好!但是,我不想立即绑定到按钮单击事件,因为在实践中,我有一个重复器,我需要单击一个重复器元素来触发scrollTo函数。因此,我删除了脚本块中的单击绑定,并为链接按钮添加了OnClientClick。我认为下面的代码可以很好地工作:
<head>
<script type="text/javascript" src="Scripts/jquery.scrollTo.min.js"></script>
<script type="text/javascript">
function dosomescrolling() {
var $paneTarget = $('#pane-target');
var $target = $paneTarget.find('#div14');
$paneTarget.stop().scrollTo($target, 800);
}
</script></head>
...
...
<ul>
<li>
<asp:LinkButton ID="LinkButton5" runat="server" OnClientClick="dosomescrolling();">
jQuery object</asp:LinkButton></li>
</ul>
<div id="pane-target">..bunch of elements...
<ul>..bunch more elements...
<li><div id="div14">etcetc</div></li>
..bunch more elements...</li>
</ul>
</div>
不!我得到以下错误:
$paneTarget.stop(...).scrollTo is not a function
给了什么? ?
我很想听到一个更好的解决方案,但是(我找不到太多关于这方面的文档)它看起来像jQuery插件在OnClientClick触发时根本没有加载。为了缓解这一点,我只是移动了整个插件代码到我的OnClientClick函数,这解决了问题