h0m*_*yun 9 javascript jquery fancybox
我必须在我的网站上运行带有触发器点击的 fancybox ,我发现的问题是,如果你点击花式框内的元素,使用这种方法,花式框将关闭并再次出现(闪烁).
我希望fancybox防止闪烁,当我点击框内的元素,当我点击这些元素,我不想看到任何变化,这就是全部:)
我为这个问题创建了演示
<div id="a1">
<p>Click on the box</p>
<div class="r"></div>
</div>
$(document).ready(function() {
$('#a1').fancybox({
afterClose: function() {
console.log('closed :( ');
}
}).click();// or .trigger('click');
});
Run Code Online (Sandbox Code Playgroud)
任何的想法?
JFK*_*JFK 18
您的代码的问题在于您使选择器#a1同时充当:fancybox 的触发器和目标,因此任何单击本身都会一次又一次地触发fancybox.
您需要创建另一个以#a1元素为目标的选择器(触发器)
<a class="fancybox" href="#a1">triggers fancybox</a>
<div id="a1">
<p>Click on the box</p>
<div class="r"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果您不希望元素.fancybox可见,只需添加display:none属性即可
那你的js
$(document).ready(function () {
$('.fancybox').fancybox({
afterClose: function () {
console.log('closed :( ');
}
}).trigger('click');
});
Run Code Online (Sandbox Code Playgroud)
请参阅JSFIDDLE
编辑:看着你的样本JSFIDDLE,事情可能会简单得多.
只有这个HTML
<div id="a1">
<p>Click on the box</p>
<div class="r"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
你可以使用这段代码
$(document).ready(function () {
$.fancybox({
href: "#a1"
});
});
Run Code Online (Sandbox Code Playgroud)
哪里click不需要.
看到你更新了JSFIDDLE
| 归档时间: |
|
| 查看次数: |
7216 次 |
| 最近记录: |