我尝试使用评论系统创建图片上传网站。评论部分显示在图像下方的imagedisplay.php'文件。现在,如果用户尚未登录,则用户将被重定向到注册页面,然后在他注册后返回到评论部分所在的页面。
我希望用户登录并重定向回imagedisplay页面后,我希望页面向下滚动到评论框。
现在,我按照以下方式在网址中传递一个网址,以及包含评论框ID的哈希:
var commentformid="commentform"+imageId;
window.location.href="signup.php?lastpage="+encodeURIComponent("imagedisplay.php?id="+imageId+"#"+commentformid);//redirect to signup page
此处,commentformid
是评论框的ID,lastpage
是有人尝试发布评论的页面的网址,以及注册后该用户将被重定向到的位置。< / p>
这是我用来向下滚动到评论框的代码:
$(document).ready(function(){
//check for hash and if the hash exists, then scroll to the comment-box
var hash=window.location.hash;
if($(hash).length){
$('body').animate({ scrollTop: $(hash).offset().top }, 1500);
}
})
用户被正确定向到注册页面,然后返回到存在评论部分的图像显示页面,但问题是页面没有滚动到评论框..更多,页面加载时,它从注释框本身开始(也就是说,页面在滚动后看起来应该是这样,当它加载时)。简而言之,没有滚动效果。
[编辑]:This是我用来实现此目的的参考
希望我的问题很明确。我对此非常陌生,所以任何帮助都会受到赞赏。提前谢谢!
答案 0 :(得分:0)
如果您想要反击浏览器自动滚动的本机行为,您可以使用此代码段:
<?xml version='1.0' ?>
<message xmlns="jabber:client" type="groupchat">
<body>https://[something].com/*.txt</body>
<media xmlns="urn:xmpp:message:multimedia">
<source src="https://[something].com/*.txt" type="text/plain" />
</media>
<html xmlns="http://jabber.org/protocol/xhtml-im">
<body xmlns="http://www.w3.org/1999/xhtml">
<a href="https://[something].com/*.txt">View Paste</a>
</body>
</html>
<x xmlns="jabber:x:event">
<composing />
</x>
<delay xmlns="urn:xmpp:delay" />
<x xmlns="jabber:x:delay" />
</message>
您知道,它可能不适合所有浏览器。
答案 1 :(得分:0)
通过使用哈希,Web浏览器立即转到页面位置(在文档准备好之前)。
你应该做的是分别传递哈希,然后使用jQuery去那个位置。
尝试传递网址
data
然后使用你的jQuery:
imagedisplay.php?id="+imageId+"hash="+commentformid;
该功能取自this page