【发布时间】:2012-03-17 05:39:04
【问题描述】:
我正在尝试以 1/3 > 格式在我的幻灯片中添加第二个寻呼机,因此如果有 3 张幻灯片,它会显示有多少张幻灯片以及您的幻灯片,如果您想向前移动,只需单击箭头。它必须很简单,但我找不到任何例子。这是我目前所拥有的:
$(function() {
$('.slideshow').each(function() {
var $nav = $('<div class="nav"></div>').insertAfter(this);
var $nav2 = $('<div class="nav2"></div>').insertBefore(this);
$('<div class="caption"> </div>').insertAfter($nav);
$(this).cycle({
fx: 'fade',
speed: 300,
timeout: 0,
pager: $nav,
after: onAfter
});
});
function onAfter(curr, next, opts) {
var src = ' ';
if (next.src)
src = next.src.match(/([a-zA-Z0-9\.]+$)/)[1];
$(curr).parent().nextAll('div.caption:first').html(src);
}
有什么想法吗?
更新: 谢谢,杰夫兰姆......我试过了,它几乎就在那里。因为我在一页上有 2 个幻灯片,所以导航是相互叠加的,所以如果我继续前进,两个标题都会改变。我尝试只更改类名,但它仍然叠加。我在这里想念什么?这是我更新的代码:
$(function() {
$('.slideshow').each(function() {
var $nav = $('<div class="nav"></div>').insertAfter(this);
var $nav2 = $('<div class="nav2"></div>').insertBefore(this);
$('<div class="caption"> </div>').insertBefore($nav);
$('<div class="caption2"> </div>').insertAfter($nav2);
$('.next').click(function() {
$('.slideshow').cycle('next');
});
$('.next2').click(function() {
$('.two').cycle('next');
});
$(this).cycle({
fx: 'fade',
speed: 300,
timeout: 0,
pager: $nav,
after: onAfter
});
});
function onAfter() {
$('.caption').html('<h3>' + (parseInt($(this).index())+1) + ' / ' + $(".slideshow div").length + '</h3>');
}
function onAfter() {
$('.caption2').html('<h3>' + (parseInt($(this).index())+1) + ' / ' + $(".two div").length + '</h3>');
}
如果需要,我确实想要添加第三张幻灯片的选项。这是我的 HTML:
<div class="slideshow-container">
<h2>CASE STUDIES</h2>
<input type="button" class="next" value=">" />
<div class="slideshow">
<div> <img src="images/jorge-pensi.png" width="278" height="270" />
<h1>Jorge<br/>
<strong>Pensi</strong></h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
</div>
<div> <img src="images/jorge-pensi.png" width="278" height="270" />
<h1>Designer<br/>
<strong>Two</strong></h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
</div>
</div>
</div>
<div class="slideshow-container">
<h2>OUR DESIGNERS</h2>
<input type="button" class="next2" value=">" />
<div class="slideshow two">
<div> <img src="images/jorge-pensi.png" width="278" height="270" />
<h1>Jorge<br/>
<strong>Pensi</strong></h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
</div>
<div> <img src="images/jorge-pensi.png" width="278" height="270" />
<h1>Designer<br/>
<strong>Two</strong></h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
</div>
【问题讨论】:
-
关于更新:您为两个幻灯片调用了相同的“onAfter”函数。除非您想将其扩展到 2 个以上的幻灯片,否则不要执行 .each() 并单独配置每个幻灯片。此外,由于您不包含 html,因此很难弄清楚您要做什么。
-
下次你应该问整个问题。这样回答的人就不需要重写他们的代码了……
-
你是对的。我很抱歉。
标签: javascript jquery slideshow jquery-cycle pager