gpt4 book ai didi

javascript - 使用 Fotorama api 自定义缩略图和标题

转载 作者:行者123 更新时间:2023-12-01 05:45:55 25 4
gpt4 key购买 nike

我正在使用 Fotorama (www.fotorama.io) Jquery 插件构建一个网站。我一直在使用此代码生成自定义缩略图( jsfiddle ):

 $('.thumbs').each(function () {
$('a', this).each(function () {
var $a = $(this);
// set ids, will use them later
$a.attr({id: $a.attr('href').replace(/[\/\.-]/g, '')});
});

var $thumbs = $(this),
$fotorama = $thumbs.clone();

$fotorama
.on('fotorama:show', function (e, fotorama) {
// pick the active thumb by id
$('#' + fotorama.activeFrame.id)
.addClass('active')
.siblings()
.removeClass('active');
})
.addClass('fotorama')
.removeClass('thumbs')
.insertAfter(this)
.fotorama({nav: false, width: '100%', maxHeight: 400, ratio: 3/2});

// get access to the API
var fotorama = $fotorama.data('fotorama');

$thumbs.on('click', 'a', function (e) {
e.preventDefault();
// show frame by id
fotorama.show(this.id);
});
});

这段代码工作得很好,但我还需要自定义标题。我找到了以下代码( jsfiddle ),但我正在努力将这两段代码放在一起。我刚刚学习 Javascript 和 JQuery,可以用一只手将脚本结合起来作为一个整体工作。到目前为止我尝试过的一切都失败了。

$('.fotorama')
.on('fotorama:show', function (e, fotorama) {
fotorama.$caption = fotorama.$caption || $(this).next('.fotorama-caption');
var activeFrame = fotorama.activeFrame;
fotorama.$caption.html(
'<strong>' + activeFrame.title + '</strong><br>'
+ activeFrame.author
);
})
.fotorama();

最佳答案

在伊舍伍德的帮助下解决了。请在这里找到解决方案 http://jsfiddle.net/vCUC2/97/

$('.thumbs').each(function () {
$('a', this).each(function () {
var $a = $(this);
// set ids, will use them later
$a.attr({
id: $a.attr('href').replace(/[\/\.-]/g, '')
});
});

var $thumbs = $(this),
$fotorama = $thumbs.clone();

$fotorama.on('fotorama:show', function (e, fotorama) {
// pick the active thumb by id
$('#' + fotorama.activeFrame.id)
.addClass('active')
.siblings()
.removeClass('active');

var activeFrame = fotorama.activeFrame;
fotorama.$caption = fotorama.$caption || $(this).next('.fotorama-caption');
fotorama.$caption.html(
'Title: <strong>' + activeFrame.title + '</strong><br>Caption: ' + activeFrame.author);
})
.addClass('fotorama')
.removeClass('thumbs')
.insertAfter(this)
.fotorama({
nav: false,
width: '100%',
maxHeight: 400,
ratio: 3 / 2
});

// get access to the API
var fotorama = $fotorama.data('fotorama');

$thumbs.on('click', 'a', function (e) {
e.preventDefault();
// show frame by id
fotorama.show(this.id);
});
});

关于javascript - 使用 Fotorama api 自定义缩略图和标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26900154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com