jQuery Cycle addSlides "alt" - PullRequest
       13

jQuery Cycle addSlides "alt"

1 голос
/ 22 июля 2011

Я не могу найти ответ на мою проблему. Я думаю, что он очень маленький, но в моем мозгу в настоящее время есть некоторые узлы.

Мне нужны элементы

для стилизации, но функция добавления атрибута alt к конкретному элементу (# c11) не работает при использовании <li> до <img>, хотя без нее все нормально.

Вы можете мне помочь?

Вот мой JS:

$(document).ready(function() { 

$('#slideshow1').cycle({ 
    fx:      'scrollHorz', 
    auto: false,
    before:   onBefore,
    prev:    '#prev',
    next:    '#next',
    timeout:  0,
    sync: 1,
    speed: '100',
    pagerAnchorBuilder: pagerFactory,
    after:     function() {
    $('#c1').html(this.alt);
    }
}); 

var slidesAdded = false; 
function onBefore(curr, next, opts) { 
    if (!opts.addSlide || slidesAdded) 
        return; 
    opts.addSlide('<li><img src="loadimages/1.jpg" width="800" height="560"  alt="Beach 1" /></li>'); 
    opts.addSlide('<li><img src="loadimages/2.jpg" width="800" height="560"  alt="Beach 2" /></li>'); 
    opts.addSlide('<li><img src="loadimages/3.jpg" width="800" height="560"  alt="Beach 3" /></li>'); 
    opts.addSlide('<li><img src="loadimages/4.jpg" width="800" height="560"  alt="Beach 4" /></li>'); 
    slidesAdded = true; 
}; 
function pagerFactory(idx, slide) {
    var s = idx > 2 ? ' style="display:none"' : '';
    return '<li'+s+'><a href="#">'+(idx+1)+'</a></li>';
};

и вот HTML:

 <div style="text-align:center;margin:auto;width:300px">
    <a href="#"><span id="prev">Prev</span></a> 
    <a href="#"><span id="next">Next</span></a>
</div>

<div id="slideshow1" class="pics"> 
 <li><img src="loadimages/1.jpg" width="800" height="560" alt="Beach 1"  /></li>
 <li><img src="loadimages/4.jpg" width="800" height="500" alt="Beach 2" /> </li>

</div> 

1 Ответ

0 голосов
/ 10 марта 2016

Используя jQuery, можно стилизовать тег Alt внутри тега figure figcaption.Вот скрипка (https://jsfiddle.net/0Lqxb4cp/), которая может выглядеть примерно так:

.img-fluid { width: 100%; }
figure { display:block; position: relative; }

figcaption { display: block; }

Использование этого HTML:

<figure>
    <img class="img-fluid" src="image.png" alt="This content will be appended inside the Figure Caption tag!">
</figure>`

С последующим jQuery:

<script src="js/jquery.js"></script>  
<script>
$('img', 'figure').each(function() {
        $(this).parent().append('<figcaption>' + this.alt + '</figcaption>');
    });
</script>
...