javascript - Bxslider字幕动画

标签 javascript html css slider

我正在使用 bxslider,我想为幻灯片的文本制作不同的动画。

当幻灯片向左滑动时,我希望文本框固定在中间,文本淡入/淡出。

有什么想法吗?我一直在努力一整天

这是一支笔:Codepen

HTML:

<div class="bxslider" id="banner">
  <div>
    <img src="img" />
    <h3 class="msl-title"><a href="#" title="Test Article">Test Article</a></h3>
  </div>

  <div>
    <img src="img" />
    <h3 class="msl-title"><a href="#" title="Test Article">Test Article</a></h3>
  </div>

  <div>
    <img src="img" />
    <h3 class="msl-title"><a href="#" title="Test Article">Test Article</a></h3>
  </div>

</div>

JS:

$(document).ready(function(){
  $('.bxslider').bxSlider();
});

CSS:

#banner .msl-title {
    width: 80%;
    max-width: 350px;
    top: 50%;
    background: white;
    padding: 40px;
    position: relative;
    margin: auto;
    overflow: auto;
    display: table;
    height: 160px;
    text-align: center;
    transform: translateY(-65%);
    border: 5px solid #61beb1;}

最佳答案

为了实现这个你需要一个不同的方法,因为盒子在 slider 里面,很难固定,但是如果你把文本框放在 slider 包装器外面你可以简单地用自定义 bxslider 控制行为

$(document).ready(function(){
   $('.msl-title').find('a').text( 
   $('#banner').children().first('div').data('text') );
      $('.bxslider').bxSlider({'onSlideBefore':function(el,oldIndex,newIndex){
      $('.msl-title').fadeOut(200,function(){
      $('.msl-title').find('a').text($(el).data('text'));  
        $(this).stop().fadeIn(200);
      });
    }});
 });

并且使用 jQuery 中的数据属性,您可以为 div 中的每张幻灯片设置文本

<div data-text="Slide 1">

工作演示 https://codepen.io/Teobis/pen/zLpWKM

希望对你有帮助

关于javascript - Bxslider字幕动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51597463/

相关文章:

javascript - 有没有办法为日期选择器禁用 Bootstrap?

jquery - 在 jquery 中搜索

javascript - iOS 中使用 javascript 预加载图像

jquery - Bootstrap CSS - 缩略图图像调整大小和响应式

html - page-break-inside html 标签不工作

javascript - 悬停颜色叠加 : jquery mosaic plugin

javascript 正则表达式修复不替换图像 url

javascript - 谷歌浏览器上传速度与 Firefox

javascript - Mapbox 标记 - 一层上的动态标记

html - 如何使用 CSS 或 Javascript 强制浏览器在浏览器左侧显示滚动条?