滚动不在页面重定向上工作

时间:2017-01-07 13:15:32

标签: javascript php jquery html

我尝试使用评论系统创建图片上传网站。评论部分显示在图像下方的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是我用来实现此目的的参考

希望我的问题很明确。我对此非常陌生,所以任何帮助都会受到赞赏。提前谢谢!

2 个答案:

答案 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