我刚刚创建的函数出现问题。我试图自动滚动到桌面上的特定用户。当我选择我的按钮时,它会滚动到用户,但之后会重新加载上一页。
您可以访问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) . ' ' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '">' . substr($tmpUser->userName, 0, 17) . '</abbrev>
</td>' . "\n";
break;
}
答案 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>