我有一个包含地方字符串的图像地图。当用户点击某些区域时,字符串(取决于点击的位置)将被发送到需要滚动到id等于该字符串的隐藏输入的函数。
<input type="hidden" id="Nashville, TN">
<div class="speaking-date">...</div>
有多个div不包含id,我不能给它们id,所以我在每个id上面用所需的字符串创建了隐藏的输入。因此,如果用户在图像地图上点击Nashville,TN,我希望它滚动到id为Nashville,TN的隐藏输入。
function FindPlace(place){
var $j = jQuery.noConflict();
$j('html, body').animate({
scrollTop: $j("#"+place).offset().top
}, 2000);
}
可变地点在他们点击的任何地方。
scrollTop: $j("#"+place).offset().top
我收到错误“无法读取未定义的属性'顶部'”。
我试过用:
scrollTop: $j( "input[id="+place+"]" ).offset().top
但是我收到错误“语法错误,无法识别的表达式:输入[id = Nashville,TN]”。我在Wordpress上这样做,这就是我使用noConflict的原因。任何帮助或提示将不胜感激。
答案 0 :(得分:1)
在我看来,你有一些问题......
1-您的身份证无效。
2-隐藏的输入没有定位,所以你不能滚动它们......
尝试使用.before()创建一个临时输入文本,滚动到此,然后在...之后将其删除。
喜欢这个......
<强> HTML 强>
<input type="hidden" id="Nashville">
<div class="speaking-date">...</div>
JS
$("#Nashville").before("<div id='divTemp'>test</div>");
$('html, body').animate({
scrollTop: $("#divTemp").offset().top
}, 2000);
$("#divTemp").remove();