gpt4 book ai didi

javascript - 页面 anchor 的 Fancybox 问题

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:34 25 4
gpt4 key购买 nike

我有一个 Fancybox 弹出窗口,但是在这个弹出窗口中,我有很多内容,我想在这些内容的顶部创建一些 anchor ,以“跳转”到弹出页面的特定部分。这是可行的,但是只要单击 anchor ,背景(Fancybox 后面的主页)就会跳下来。

这似乎是 Fancybox 的一个错误,出于某种原因我无法解决它。有没有我可以尝试的解决方案?

我创建了一个快速的 JSFiddle here .如果您点击“some link”链接,您会看到 anchor 有效,但后台页面也会跳转 - 这就是问题所在。

注意:

这似乎只是 Chrome 中的一个错误。

HTML:

<a class="fancyTrigger" href="#TheFancybox"></a>
<hr>
<div id="TheFancybox"></div>

Powered by <a href="http://fancybox.net/" target="_blank">Fancybox</a>

<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p><p>test</p><p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
v
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p><p>test</p><p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
v
<p>test</p>
<p>test</p>

<p>test</p>
<p>test</p>
<p>test</p><p>test</p><p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
v
<p>test</p>
<p>test</p>

<p>test</p>

CSS:

/*  Note that the fancybox css file is loaded under the 
"Add Resources" tab to the left. Normally you would load it in your <head> */

body {
background-color: #eef;
}
#TheFancybox {
display: none;
height:70px;
overflow:scroll;
}

脚本

$("#TheFancybox").html("<p><a href='#test'>some link</a></p><p>dsdsds2dsds</p><p>dsdsdsd1sds</p><p>dsdsdsds3ds</p><p>dsds5dsdsds</p><p>dsdsds5dsds</p><p>dsd22dsdsds</p><p>dsdsdsd2222sds</p><p>dsds111dsdsds</p><p>dsdsdsdsds</p><p>dsdsdsaaaadsds</p><p>dd2d2d3dsdsds</p><p><a name='test'></a></p><p>dsdsdsd 2 da dad a dadsds</p><p>dsdsdsdsds</p>");

$(".fancyTrigger").fancybox();
$(".fancyTrigger").trigger('click');

最佳答案

您最简单的选择是将 autoCenter: true 添加到您的选项中,例如:

jQuery(document).ready(function ($) {
$("#TheFancybox").html("...");
$(".fancyTrigger").fancybox({
autoCenter: true
}).trigger('click');
}); // ready

还要确保将自定义脚本包装在 .ready() 方法中

参见 JSFIDDLE


编辑:您还可以将助手 locked 设置为 true,这样后台页面就不会滚动了

$(".fancyTrigger").fancybox({
autoCenter: true,
helpers: {
locked: true
}
}).trigger('click');

查看更新的 JSFIDDLE

关于javascript - 页面 anchor 的 Fancybox 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21024380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com