如何让Fancy框定位到页面上的特定DIV ID,而不是在fancybox中请求整个页面。 这是我的代码所以票价
$(function() {
$(".style_image a").live('click', function(event) {
$(".style_image a").find("#show_style").fancybox();
});
});
这不起作用?
我最初尝试过以下内容:
$(function() {
$(".style_image a").live('click', function(event) {
$(this.href + " #show_style").fancybox();
});
});
不确定这是怎么做的,或者是否可能?
答案 0 :(得分:24)
如果您希望fancybox打开某个div,您只需使用以下简单步骤:
首先,您需要一个链接将FancyBox挂钩到:
<a href="#myDivID" id="fancyBoxLink">Click me to show this awesome div</a>
请注意锚点旁边的 div id 。
其次你需要一个将在FancyBox中显示的div:
<!-- Wrap it inside a hidden div so it won't show on load -->
<div style="display:none">
<div id="myDivID">
<span>Hey this is what is shown inside fancybox.</span>
<span>Apparently I can show all kinds of stuff here!</span>
<img src="../images/unicorn.png" alt="" />
<input type="text" value="Add some text here" />
</div>
</div>
第三个非常简单的javascript将它们连接在一起
<script type="text/javascript">
$("a#fancyBoxLink").fancybox({
'href' : '#myDivID',
'titleShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
</script>
答案 1 :(得分:7)
你只需要这个选择器:
$("#show_style").fancybox();
ID selector(因为ID应该是唯一的)只是#IDGoesHere
我认为你正在将内容加载到某些fancybox中,如果你想从href指向的页面加载说<div id="content"></div>
,你可以使用.load()
:
$(".style_image a").on('click', function(event) {
$('#show_style').load(this.href + " #content").fancybox();
});
.load()
有一个url selector
选项,只加载目标网页的一部分。