Bootstrap旋转木马与中继器显示所有幻灯片一个接一个我想显示它3个项目一个

本文关键字:一个 显示 3个 项目 幻灯片 Bootstrap 中继器 旋转木马 | 更新日期: 2023-09-27 18:17:44

我正在使用Bootstrap carousel滑块脚本内部中继器,但它不能正常工作。我有项目数据库表,我想通过一个滑块在幻灯片3项目中显示这个项目,每个幻灯片有3个项目。我的代码显示每个幻灯片一个项目,我不知道如何使它请帮助我。每张幻灯片:1 2 3,然后第二张4 5 6在同一行与滑块

这个链接有相同的幻灯片我想要滑块我想要喜欢它

<!-- Begin Carousel -->
<div class="row">
  <div id="realto-carousel-afee" class="carousel slide">
<div class="carousel-navigation pull-right"> <a class="serif italic pull-left view-all-carousel" href="properties-grid-layout-2">All</a> <a class="left carousel-control pull-left" href="#realto-carousel-afee" data-slide="prev"><i class="fa fa-angle-left"></i></a> <a class="right carousel-control pull-right" href="#realto-carousel-afee" data-slide="next"><i class="fa fa-angle-right"></i></a> </div>
<div class="carousel-inner">
  <asp:Repeater runat="server" ID="ProjectsRepater">
    <ItemTemplate>
      <div <%# Container.ItemIndex == 0 ? "class='"item active'"" : "class='"item'"" %>>
        <div class="col-lg-4 col-md-4 col-sm-4 col-sx-12">
          <div class="box-container">
            <div class="holder"> <a class="overlay" href="" title=""> <span class="more"> <i class="fa fa-zoom-in"></i> </span>
              <div class="prop_img"> <img width="370" height="210" src="150w" sizes="(max-width: 370px) 100vw, 370px" /> </div>
              </a> <span class="prop-tag"></span>
              <div class="prop-info">
                <h3 class="prop-title">
                  <asp:Label ID="ProjId" runat="server" Visible="false" Text='<%# Eval("ID")%>'></asp:Label>
                  <asp:Label Text='<%# Eval("ProjectName")%>' ID="lblProjName" runat="server"><a href="/"></a></asp:Label>
                </h3>
                <ul class="more-info clearfix">
                  <li class="info-label clearfix"> <span class="pull-left" style="float:right !important"></span>
                    <label id="lblArea" runat="server" class="qty pull-right">2</label>
                  </li>
                  <li class="info-label clearfix"> <span class="pull-left" style="float:right !important"></span> <span id="lblPaymentsSystem" runat="server" class="qty pull-right">2</span> </li>
                  <li class="info-label clearfix"> <span class="pull-left" style="float:right !important"></span> <span id="lblReceivedDate" runat="server" class="qty pull-right">2</span> </li>
                </ul>
              </div>
              <!-- prop-info --> 
            </div>
            <!-- holder --> 
          </div>
          <!-- box-container --> 
        </div>
      </div>
    </ItemTemplate>
  </asp:Repeater>

 protected void Page_Load(object sender, EventArgs e)
  {

    //        RepeterData();
   ProjectsRepater.DataSource = GetAllProjecct();
  ProjectsRepater.DataBind();

  }
   public class Proj
   {
    public int ID { get; set; }
    public string ProjectName { get; set; }

   }
   public List<Proj> GetAllProjecct()
  {
  List<Proj> listproj = new List<Proj>();
 SqlConnection con = new            SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings       ["AlamarConnectionString"].ConnectionString);
SqlCommand com = new SqlCommand("Select ID,ProjectName from Projects", con);
con.Open();
SqlDataReader reader = com.ExecuteReader();
 while (reader.Read())
 {
  Proj cnt = new Proj();
  cnt.ID = Convert.ToInt32(reader["ID"]);
  cnt.ProjectName = Convert.ToString(reader["ProjectName"]);
  listproj.Add(cnt);
  }
   return listproj;
}

Bootstrap旋转木马与中继器显示所有幻灯片一个接一个我想显示它3个项目一个

看这个代码,我想这会解决你的问题

HTML

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <div class="container">
        <div class="row">
          <div class="col-xs-4">
            <div class="slide slide1">slide 1 content here</div>
          </div>
          <div class="col-xs-4">
            <div class="slide slide2">slide 2 content here</div>
          </div>
          <div class="col-xs-4">
            <div class="slide slide3">slide 3 content here</div>
          </div>
        </div>
      </div>
    </div>
    <div class="item">
      <div class="container">
        <div class="row">
          <div class="col-xs-4">
            <div class="slide slide4">slide 4 content here</div>
          </div>
          <div class="col-xs-4">
            <div class="slide slide5">slide 5 content here</div>
          </div>
          <div class="col-xs-4">
            <div class="slide slide6">slide 6 content here</div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- Controls -->
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
CSS

.slide {
  height: 200px;
  color: #fff;
  font-size: 20px;
}
.slide1 {
  background: red;
}
.slide2 {
  background: yellow;
}
.slide3 {
  background: blue;
}
.slide4 {
  background: orange;
}
.slide5 {
  background: green;
}
.slide6 {
  background: violet;
}
http://codepen.io/Arshmeet/pen/BQKrOb

下面是一个完整的carousel示例,该示例在控制器中调用ajax来填充3张幻灯片。为了更好的表现,我每次通话只录一个录音,但你可以改变。

视图:

<div class="carousel slide" id="main-slide" data-ride="carousel">
    <ol class="carousel-indicators text-center">
        <li data-target="#main-slide" data-slide-to="0" class="active"></li>
        <li data-target="#main-slide" data-slide-to="1"></li>
        <li data-target="#main-slide" data-slide-to="2"></li>
    </ol>
    <div class="carousel-inner">
        <div class="item active">
            <a href="" id="home1-link1">
                <img id="home1-imagem1"   alt="" title="" src="" width="20" height="20" class="img-responsive center-block">
                <div class="carousel-caption" id="home1-caption1"><div id="home1-legenda1"></div></div>
            </a>
        </div>
        <div class="item">
            <a href="" id="home1-link2">
                <img id="home1-imagem2"  alt="" title="" src="" width="20" height="20" class="img-responsive center-block">
                <div class="carousel-caption" id="home1-caption2"><div id="home1-legenda2"></div></div>
            </a>
        </div>
        <div class="item">
            <a href="" id="home1-link3">
                <img id="home1-imagem3" alt="" title="" src="" width="20" height="20" class="img-responsive center-block">
                <div class="carousel-caption" id="home1-caption3"><div id="home1-legenda3"></div></div>
            </a>
        </div>
    </div>
    <div class="slides-control">
        <a title="Imagem Anterior" id="tras-home1-slide" class="carousel-control" href="#main-slide" data-slide="prev">
            <i class="fa fa-angle-left"></i></a>
        <a title="Imagem Posterior" id="frente-home1-slide" class="direita carousel-control" href="#main-slide" data-slide="next">
            <i class="fa fa-angle-right"></i></a>
    </div>
</div>
@section scripts {
<script type="text/javascript">
 $(document).ready(function () {
    var nrReg = 0;
    var pag = "";
    var i = 1;
    var selecaoJquery = "";
    var removeuTerceiroSlide = false;
    function slide1() {
        $.ajax({
            url: "/Image/Slide",
            type: "POST",
            data: { "nrRegistro": nrReg },
            ifModified: true,
            cache: true,
            async: true,
            dataType: "json",
            success: function (data) {
                if (i == 2 && data.length == 0) {
                    $("#item-main-slide3").remove();
                    $("#carousel-indicator3").remove();
                    removeuTerceiroSlide = true;
                    return;
                }
                else if (i == 3 && data.length == 0) {
                    $("#item-main-slide3").remove();
                    $("#carousel-indicator3").remove();
                    if (removeuTerceiroSlide == true) {
                        $("#item-main-slide2").remove();
                        $("#carousel-indicator2").remove();
                    }
                    return;
                }
                if (i > 1) {
                    selecaoJquery = "#carousel-indicator" + i;
                    $(selecaoJquery).show();
                }
                selecaoJquery = '#home1-legenda' + i;
                $(selecaoJquery).html(data[0].DescricaoLegenda);
                selecaoJquery = '#home1-link' + i;
                if (data[0].URLPagina == null) {
                    $(selecaoJquery).attr('href', '/lista/produtos');
                }
                else {
                    $(selecaoJquery).attr('href', '/produto/' + data[0].URLPagina);
                }
                selecaoJquery = '#home1-imagem' + i;
                $(selecaoJquery).attr("src", data[0].EnderecoImagem).attr("title", data[0].Descricao)
                    .attr("alt", data[0].DescricaoAlternativa).attr("width", data[0].Largura).attr("height", data[0].Altura);
                selecaoJquery = '#home1-caption' + i;
                $(selecaoJquery).css('background-color', data[0].CorFundoLegenda);
                i++;
            }
        });
    };
    nrReg = 1;
    slide1();
    nrReg = 2;
    setTimeout(slide1(), 400);
    nrReg = 3;
    setTimeout(slide1(), 900);
    $('#main-slide').carousel({ interval: 6000 });
});
</script>
 }

控制器(/图像/幻灯片):

    [HttpPost]
    public async Task<JsonResult> Slide(int nrRegistro)
    {
        var recs = (from d in db.Imagem
                            where d.IdPostagemImagem == 1 && 
                            d.EnderecoImagem.Length > 0
                            orderby d.IdImagem
                            select new
                            {
                                d.IdImagem,
                                d.DescricaoLegenda,
                                d.EnderecoImagem,
                                d.CorFundoLegenda,
                                d.CorFundoLegendaMobile,
                                d.Descricao,
                                d.Largura,
                                d.Altura,
                                d.DescricaoAlternativa,
                                d.PosicaoHorizontalLegenda,
                                d.Produto.URLPagina
                            });
        if (nrRegistro > 1)
        {
            nrRegistro--;
            recs = recs.Skip(nrRegistro).Take(1);
        }
        else
            recs= recs.Take(1);
        return Json( await recs.ToListAsync());
    }
相关文章: