pretypto在关闭时跳到页面的顶部

Prettyphoto jumps to the top of the page when closed

本文关键字:顶部 pretypto      更新时间:2023-09-26

我有一个问题pretypto与Qode桥主题:当它关闭页面跳转到顶部。即使在没有安装其他插件的情况下,使用最新版本的pretyphoto(3.1.6),也会发生这种情况。

此问题仅在Firefox和Internet Explorer中出现。Chrome、Safari和Opera都没有问题。

关闭pretyphoto的按钮如下所示:

<a class="pp_close" href="#">Close</a>

起初我认为这可能是一个问题,因为#在href,所以我已经尝试了许多解决方案,发现在这里和在网上搜索这个问题,但没有工作:

  • 将href="#"替换为href="javascript:;"
  • 将href="#"替换为href="javascript:void(0);"或href="javascript:void();"
  • 添加onclick = " event.preventDefault();"
  • 添加onclick="return false;"

所以我认为问题不在于按钮(因为问题只存在于Firefox和IE),而在于pretyphoto的编程。

有谁知道如何解决这个问题吗?

谢谢。

我用下面的hack修复了这个问题…

在pretyptojs文件中找到以下html:

<div class="pp_pic_holder">

在它前面加上这个:

<script type="text/javascript">var scrollPosition = $("body").scrollTop();</script>

然后像这样向pretypto添加以下回调

$("a[rel^='prettyPhoto']").prettyPhoto({
    callback: function() {$("html, body").scrollTop(scrollPosition);}
});

可能有一个更好的方法来做到这一点,而不是内联脚本,但我不知道如何运行一个函数时,litebox打开,只有当它关闭。这是一种变通方法,但它可以验证并工作。