javascript - 如何将html添加到blueimp画廊标题元素

标签 javascript carousel image-gallery blueimp

我正在使用 blueimp 画廊轮播,并想设置标题元素的样式,以便某些单词加粗或不同颜色,甚至链接。我设法找到了一个代码片段,它允许我将图像本身变成一个链接,但这并不是我所追求的。

这可能吗?

JS:

document.getElementById('links').onclick = function (event) {
    event = event || window.event;
    var target = event.target || event.srcElement,
        link = target.src ? target.parentNode : target,
        options = {index: link, event: event},
        links = this.getElementsByTagName('a');
    blueimp.Gallery(links, options);
};
$(document).ready(function() {

    //BlueImp Carousel
    document.getElementById('links').onclick = function(event) {
        event = event || window.event;
        var target = event.target || event.srcElement,
            link = target.src ? target.parentNode : target,
            options = {
                index: link,
                event: event
            },
            links = this.getElementsByTagName('a');
        blueimp.Gallery(links, options);
    };

    var title;
    blueimp.Gallery(
        document.getElementById('links').getElementsByTagName('a'), {
            container: '#blueimp-gallery-carousel',
            carousel: true,
            thumbnailIndicators: false,
            transitionSpeed: 400,
            slideshowInterval: 5000,
            clearSlides: true,
            titleElement: 'h3',
            urlProperty: 'link',
            onslidecomplete: function(index, slide) {
                title = $(slide).find("img").attr("title");
                var href = this.list[index].getAttribute('href');
                slide.innerHTML = "<a href='" + href + "' title='" + title + "'>" + slide.innerHTML + "</a>";
            }

        }
    );

});

相关 HTML:

<div id="blueimp-gallery-carousel" class="blueimp-gallery blueimp-gallery-controls blueimp-gallery-carousel karussell">
    <div class="slides"></div>
        <h3 class="title"></h3>
        <a class="prev">&lt;</a>
        <a class="next">&gt;</a>
</div>
<div id="links">
    <a href="link.html" data-link="img.jpg" title="title1">
    </a>
    <a href="link2.html" data-link="img2.jpg" title="title2">
    </a>
</div>

阐明如果它是 HTML 我希望它看起来如何的示例:

<div><img src="carousel of moving images"></div>
<div>Title text <a href="link">with links </a> and <strong>styles</strong>. (moving according to the image)</div>

最佳答案

我通过改变实现了这个结果 blueimp-gallery.js 第 960 行来自:

titleElement[0].appendChild(document.createTextNode(text))

为此:

(titleElement[0]).innerHTML = text

虽然不确定是否有任何缺点,但显然不希望编辑主要源代码。

关于javascript - 如何将html添加到blueimp画廊标题元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49121399/

相关文章:

javascript - carousel 插件和 jquery 库不能一起工作

html - Flickity 轮播卡片相互重叠

ios - Swift 获取当前显示的索引 UICollectionView

javascript - 如何仅在悬停时正确循环浏览图像?

javascript - 使用 Guzzle 和 Ajax 从 Dropbox 下载文件

javascript - 如何在列表项的单击事件期间获取该列表项的索引?

javascript - 外部 js 文件在 vs 2013 中未更新

html - CSS 网格图片库 : How to resize all images to be the same size and maintain the same distance?

javascript - $ (".element").first().trigger ('click' ) - iPad 不工作

javascript - event.target 在 Firefox 中未定义,在 IE 中出现小错误