为什么AutoScroll重定向到上一页

时间:2016-07-23 15:00:38

标签: php jquery html autoscroll

我刚刚创建的函数出现问题。我试图自动滚动到桌面上的特定用户。当我选择我的按钮时,它会滚动到用户,但之后会重新加载上一页。

您可以访问xxx.com,然后选择一个菜单,该菜单需要xxx.com/results_page.php。从这里,您将选择另一个链接,将您带到xxx.com/results.php。从这里您将选择Autoscroll按钮。该按钮将您带到页面上的正确位置,然后重新加载到xxx.com/results_page.php。

我从朋友那里复制了这个脚本,所以我不太确定它是如何工作的。 这是我的按钮,我现在已将它禁用,因为它已经坏了。

<tr>
    <td colspan=2>
        <button onclick="findUser()" title="Sorry, I'm still working  on this." disabled>My Entry</button>
    </td>
</tr>

这是页面顶部的功能。

<script type="text/javascript">
function findUser(){
    $(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}
</script>

让我知道我还能在这方面提供什么帮助。如果需要,我可以设置一个测试页面。

测试页面 Testing.daqspickem.com 登录:访客 通行证:来宾

登录后,请转到testing.daqspickem.com/results.php。该按钮位于该页面上。 The results page The results pages

此代码是我设置我想要找到的TD的地方。

    switch ($user_names_display)
    {
            case 1:
                    echo '      <td>' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '</td>' . "\n";
                    break;
            case 2:
                    echo '  <td><img src="images/logos/' . trim($tmpUser->template_name) . '.gif" style="opacity: .8; width: 40px; height: 40px; margin-left: 0px; z-index: -1;" />' . trim($tmpUser->userName) . '</td>' . "\n";
                    break;
            default: //3
                    echo ' <td><img src="images/logos/' . trim($tmpUser->template_name) . '.svg" style="width="15px" height="15px" /><abbrev title="' . trim($tmpUser->userName) . '&#10;' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '">' . substr($tmpUser->userName, 0, 17) . '</abbrev>
</td>' . "\n";
                    break;
    }

3 个答案:

答案 0 :(得分:0)

试试这个:

function findUser(e){
    e.preventDefault();
    $(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}

这样做有效,因为它阻止了href执行它的默认功能。

答案 1 :(得分:0)

我猜问题就是这个脚本,

<script type="text/javascript">
function findUser(){
    $(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}
</script>

此处,您$_SESSION['loggedInUser']包含"Guest",而您引用的td包含内部HTML "guest"

这种改变会解决这个问题,但你需要设计一个回退来处理用户不在表中的情况。

答案 2 :(得分:0)

我在我的按钮周围添加了一个表单,它似乎解决了这个问题。我会对任何其他想法持开放态度,因为这看起来并不理想。 Chrome似乎是刷新的问题。

      <form id="frmData" onsubmit="return false"> 
  <tr><td colspan = 2 > <button onclick="findUser()" title="Sorry, I'm still working  on this." >My Entry</button></td> </tr></table>
</form>

脚本

    <script type="text/javascript"> 
function findUser()
{
$(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);

}
</script>