【发布时间】:2016-08-21 19:30:14
【问题描述】:
我有一个带有引号的文本文件。我正在使用<a> 标签上的jquery click 函数将行加载到<p> 和隐藏div 内的class="quotes" 中。这很好用。
单击时,此锚点还会启动 Fancybox 2 灯箱并以内联方式加载 #quote-div(隐藏 div 内的 div)的内容。这也有效。
问题在于它发生得太快了。我需要保持快速加载文本并稍微延迟 Fancybox。
当 Fancybox 打开时,有时会出现卡顿,因为它会重新调整已加载文本的窗口高度。我尝试在悬停而不是单击时加载文本,但在 Chrome 中,如果鼠标移到 <a> 标记上,它会触发另一个悬停。
我在这里的一些帖子中发现了 setTimeout,但我不确定如何在代码中设置它,以便在这种情况下正常工作。
我还在网站的其他部分使用 Fancybox,我不希望出现延迟。
HTML:
<div style="display: none">
<div id="quote-div">
<p class="quotes">... content loads here...</p>
</div>
</div>
<a id="q-click" class="clickBlock fancybox" href="#quote-div"> </a>
jquery函数:
$('#q-click').click(function () {
$.get('/assets/quotes.txt', function(data) {
var quotes = data.split("\@");
var idx = Math.floor(quotes.length * Math.random());
$('.quotes').html(quotes[idx]);
});
});
Fancybox 代码:
$(".fancybox").fancybox({
helpers: {
title : {
type : 'inside'
},
overlay: {
locked: false
}
}
});
【问题讨论】:
标签: jquery random fancybox-2