【问题标题】:Dynamically load content into Content Slider将内容动态加载到内容滑块中
【发布时间】:2013-12-18 00:07:36
【问题描述】:

我正在开发一个网站,它利用 bx 滑块创建一个全屏演示风格的幻灯片网站。

目前幻灯片都被硬编码到主页中,如下所示:

<ul class="bxslider group">


<li>
  <div class="container" id="section1">
   ..content
  </div>
</li>

<li>
  <div class="container" id="section2">
   ..content
  </div>
</li>

 <!-- and so on -->

</ul>

我还将每张幻灯片的内容放在名为 page-2.html、page-3.html 的文件中的 html 文件中(没有“li”),如下所示:

<div class="container" id="section2">
   ..content
  </div>

如何编写代码,以便幻灯片从每张幻灯片的相应 html 页面中提取数据?如果可能,计算有多少页以及要制作多少张幻灯片?

非常感谢

【问题讨论】:

    标签: jquery html ajax slideshow bxslider


    【解决方案1】:

    JS

    $(document).ready(function() {
    
        var slider = $('.bxslider').bxSlider({
          mode: 'horizontal'
        });
    
        $('ul.bxslider li .container').each(function(k, v) {
            $(this).append('<div/>').load('page-' + (k+1) + '.html');
        }).promise().done(function() { slider.reloadSlider() });
    });
    

    HTML

    <ul class="bxslider group">
    
    <li>
      <div id="section1" class="container">
       ..content
      </div>
    </li>
    
    <li>
      <div id="section2" class="container">
       ..content
      </div>
    </li>
    
    </ul>
    

    此代码会将您的页面加载到容器中。它将使用页面-{#}.html 的容器类 (+1) 的索引。或者,如果您将其替换为 ($(this).attr('id').split('section')[1]) 之类的内容,则可以使用部分 id 而不是 (k+1)

    【讨论】:

    • 1.循环遍历container 类 2. 附加一个 div 3. 将 html 页面加载到 div... 我会更新帖子。
    • 谢谢!无论如何它可以计算有多少页然后创建幻灯片,而不是硬编码然后附加?
    • 您可以只将内容放在一个页面中并为每个页面使用单独的 div,因为您可以使用 jQuery 将页面的特定元素指定为 load()
    • 目前没有,但我可以根据最佳解决方案来做。另外,我刚刚尝试过,它似乎只导入了第一张幻灯片..以下幻灯片失败了?
    • 我更新了$('ul.bxslider li .container') 的帖子,而不是$('.container'),以防您正在加载的页面中有容器类
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2018-01-05
    • 2012-08-05
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2011-06-14
    相关资源
    最近更新 更多