0

我的数据库中的图像很少,我像画廊一样在另一个下方显示一个图像,但我的要求是我想像幻灯片一样显示......应该显示一个图像,然后在 2 秒后显示另一个图像......以这种方式,如何完成?

这是我的视图代码

@{
    ViewBag.Title = "Home Page";
}

<h2>@ViewBag.Message</h2>
@for(int i = 1; i <= Convert.ToInt32(ViewData["count"]); i++)
{
    <img src="@Url.Action("dp", "Home",new { id = i })" />
}
4

1 回答 1

1

您可以自己编写一些东西,也可以使用众多可用的 JavaScript/jQuery 幻灯片库之一。如果你自己写一些东西,你实际上会在你做的时候一次加载所有的图片,但把它们全部隐藏起来。然后使用 JavaScript/jQuery 显示和隐藏它们。

这是使用来自 jquery.malsup.com/cycle/ 的称为 jQuery Cycle 插件的一种方法。

    @{
        ViewBag.Title = "SlideShow";
    }
    <h2>
        SlideShow</h2>
    <style type="text/css">
        .slideshow
        {
            width: 700px;
            height: 700px;
            margin: auto;
        }
        .slideshow img
        {
            padding: 15px;
            border: 1px solid #ccc;
            background-color: #eee;
            margin-left: auto; margin-right: auto; display: block;
        }
    </style>
    <!-- include Cycle plugin -->
    <script src="@Url.Content("~/Scripts/jquery.cycle.all.js")" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.slideshow').cycle({
                fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
            });
        });
    </script>
    <div>
        <a href="javascript:history.go(-1)">Back</a> | @Html.ActionLink("Back to Directory", "Index", new { dir = Request.QueryString["dir"] })
    </div>
    <div class="slideshow">
        @for(int i=1;i<=Convert.ToInt32(ViewData["count"]);i++)
        {
           <img src="@Url.Action("dp", "Home",new { id = i})" />
        }
    </div>

无论如何,这就是要点...您必须根据需要对其进行修改。

于 2013-02-05T09:34:06.700 回答