不能得到jQuery scrollTo插件工作的OnClientClick



我需要帮助获得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函数,这解决了问题

最新更新