0

我正在使用 jquery 滚动到锚点...。它可以与调用该函数的 html 按钮一起正常工作...

但是当我从服务器端调用它时,我得到了 id,但它似乎对我不起作用......

LinkButton lb1 = (LinkButton)sender;
ScriptManager.RegisterClientScriptBlock(lb1, typeof(LinkButton),
 "scroll","goToByScroll('myAnchor')", true);

我的功能是,

<script type="text/javascript">
 function goToByScroll(id) {alert(id);
   $('html,body').animate({ scrollTop: $("#" + id).offset().top }, 'slow');
   }
 </script>

我得到了错误$("#" + id).offset() is null

我得到了我的锚的警报 ID,但为什么它不起作用....

这是我的锚...

<a name="myAnchor" id="myAnchor"></a>

它在 html 按钮中完美运行,

<input id="Button1" type="button" value="button" onclick="goToByScroll('myAnchor');"/>

4

1 回答 1

0

您可以尝试将您的功能带出该区域 - 不确定 animate() 是否可以处理它。

var topOff = $("#" + id).offset().top;
$('html,body').animate({ scrollTop: topOff}, 'slow');

如果那不这样做,我不知道,我似乎记得必须说服 jQuery 我打算在选择器中使事物成为字符串,所以$("#"+id+"").

于 2010-03-03T08:05:00.503 回答