无法获取jQuery scrollTo插件来运行OnClientClick

时间:2014-06-27 17:56:35

标签: jquery scrollto

我需要帮助让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函数。所以我删除了脚本块中的click绑定,并将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

是什么?

1 个答案:

答案 0 :(得分:0)

我很想听到一个更好的解决方案但是(我找不到太多关于此的文档)看起来jQuery插件在OnClientClick触发时根本就没有加载。为了缓解这种情况,我只是将整个插件代码移动到我的OnClientClick函数中,这解决了问题