滚动到隐藏的输入

时间:2015-08-26 19:09:43

标签: javascript jquery wordpress

我有一个包含地方字符串的图像地图。当用户点击某些区域时,字符串(取决于点击的位置)将被发送到需要滚动到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的原因。任何帮助或提示将不胜感激。

1 个答案:

答案 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();