快速浏览,当用户点击带有锚标记的链接时,它会在目标网页上打开与该锚点最近的隐藏div。
我的问题看起来非常基本我无法理解。
为什么这样做(指定要设置高度的变量,在本例中为height7):
var height7 = 100;
if(window.location.hash) {
var hash = window.location.hash.substring(1);
$('a[name='+hash+']').closest('[id^="option"]').show();
$('a[name='+hash+']').closest('[id^="option"]').height(height7);
} else {
// No hash found
}
这不起作用(在这种情况下尝试构建我要打开的div的名称,将其放在变量中并将其完全按照上面的方式传递给height()函数,由于某种原因它不接受变量):
if(window.location.hash) {
var hash = window.location.hash.substring(1);
var option_name = $('a[name='+hash+']').closest('[id^="option"]').attr("id");
var hash_div_height_id = "height" + option_name.substring(6);
alert(hash_div_height_id);
$('a[name='+hash+']').closest('[id^="option"]').show();
$('a[name='+hash+']').closest('[id^="option"]').height(hash_div_height_id);
} else {
// No hash found
}
答案 0 :(得分:1)
您似乎分配字符串值
var hash_div_height_id = "height" + option_name.substring(6);
.height(hash_div_height_id);
它应该是一个数字。
因此hash_div_height_id
类似于height
+ something
设置height
属性时需要
表示像素数的整数,或带有的整数 附加的可选计量单位(作为字符串)。
答案 1 :(得分:1)
您在每种情况下分配不同的值:
$('a[name='+hash+']').closest('[id^="option"]').height(height7); //height = 100
$('a[name='+hash+']').closest('[id^="option"]').height(hash_div_height_id); //height = "height" + option_name.substring(6)