问题是,我使用其他页面的锚点链接到页面的各个部分。当页面加载时,它会跳转到该锚点。但是,由于浏览器无法正确确定图像的高度,因此当图像开始填充时,锚点会进一步向下跳跃。
所以,我在想,jQuery可以确定图像的高度,并在特定div中的所有图像标签上附加图像的宽度和高度吗?或者,这个问题有更优雅的解决方案吗?让我知道你的想法!
答案 0 :(得分:0)
在图像加载之前,任何客户端都无法知道图像的尺寸 - 这时浏览器将调整img元素的大小。
答案 1 :(得分:0)
jQuery可以将宽度/高度属性写入图像标签,但它需要浏览器知道它们的宽度和高度 - 要知道这些,浏览器必须已经加载了足够的每个图像来获取这些统计数据 - 所以不是很有用在你的情况下。由于您无法更改HTML或将时空连续性弯曲到您的意愿,我知道您的问题没有解决方案。
但等等,有希望! 如果要在文档加载后滚动到锚点,则需要scrollTo函数(请参阅http://plugins.jquery.com/project/ScrollTo)。您必须使用onload处理程序来确保加载所有图像:
$(window).load(function () {
// scroll
});
答案 2 :(得分:0)
我真的不明白你的意思是“当图像开始填充时,锚点会越来越跳跃”但据我所知,你可以通过在超链接的末尾包含#elementId来显示pag的特定部分。如果我错了,请纠正我,以便我可以编辑我的答案。
$(document).ready(...some code..)
中的所有命令仅在页面加载后触发。
$(document).ready(function(){
var id = window.location.pathname.split("#");
$('html,body').animate({scrollTop: $("#"+id).offset().top}, 100);
});