这就是我想要做的......
因此,用户正在浏览我的网站并点击“按类别查看”链接,此链接会打开一个弹出窗口,其中包含一系列图片,这些图片链接到我网站的不同部分。当用户点击其中一个时,我希望能够关闭弹出窗口并打开原始窗口中的链接。
有人可以帮忙吗?
答案 0 :(得分:1)
function openClosePopup (el) {
window.opener.location.href = el.href;
window.close();
return true;
}
所以你的HTML是
<a href="#some_url" onclick="return !openClosePopup(this)">Click me</a>
要打开弹出窗口,您可以使用相同的技巧:
function openPopup (el) {
window.open(el.href,'name','height=400,width=200');
return true;
}
你的HTML:
<a href="#some_url" onclick="return !openPopup(this)">Open windows</a>
答案 1 :(得分:0)
由于弹出窗口阻止程序,我不建议使用弹出窗口进行导航。使用一些文档内解决方案:
您可以使用Fancybox jQuery插件:http://fancybox.net/
它具有很酷的功能,可以在其弹出式窗口中插入一堆HTML。
点击fancybox窗口中的链接后,文档将重新加载。
修改强>
<a id="categories-trigger" href="#categories">View by categories</a>
<div class="hidden-categories">
<div id="categories">
<!-- Your code from the link you provided. Only from inside <body> tag -->
</div>
</div>
和JS代码:
<script type="text/javascript">
$(function(){
$("#categories-trigger").fancybox({ /* fancybox parameters here */ });
});
</script>
当然,您需要包含jquery和jquery.fancybox JS脚本。
和其他CSS代码:
.hidden-categories #categories{
display:none;
}
编辑2
#categories{
overflow: auto;
width: 820px;
height: 820px;
}
我的错误是默认情况下无法隐藏fancybox内容,只能在容器中隐藏。在这些变化之后,fancybox将起作用。
编辑3
尝试将JS代码更改为此代码:
$(window).load(function(){
$("#categories-trigger").fancybox({ /* fancybox parameters here */ });
});
脚本将在加载图像后执行。