Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
Version Q2 2011 released 07/12/2011
select

Rotator / CoverFlow Mode

Switch between two CoverFlow modes
Choose your Destination

  • Enabling RadRotator's CoverFlow mode


    Telerik RadRotator supports (starting from Q3 2010) two additional RotatorTypes - CoverFlow and CoverFlowButtons. Modes can be set using RotatorType property of the control.

    Important: The CoverFlow mode of RadRotator works best, in case there is only a single image in every rotator item. The reflection feature of the CoverFlow mode is supported only in case there is an image in every rotator item.

    • Enabling CoverFlow mode directly on the markup:
      <telerik:RadRotator ID="RadRotator1" runat="server" Width="810px" ItemWidth="300"
          Height="350px" ItemHeight="220" ScrollDuration="500" FrameDuration="2000" EnableRandomOrder="true"
          PauseOnMouseOver="false" Skin="Windows7" RotatorType="CoverFlow">
      . . . . . . . . . . . . . . . . . . . . . . . .
    • Enabling CoverFlow mode in codebehind:
      RadRotator1.RotatorType = RotatorType.CoverFlow;

    If the RotatorType="CoverFlowButtons" is set, then the items are moved by clicking the RadRotator's default navigation buttons located on the left and right side of the control.

    In this example, RadRotator shows the content of a directory. The images are loaded using the GetFilesInFolder method, shown in the codebehind file.

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Page Language="c#" AutoEventWireup="true" Inherits="Telerik.Web.Examples.Rotator.CoverFlowMode.DefaultCS"
        CodeFile="DefaultCS.aspx.cs" %>

    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" %>
    <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <qsf:HeadTag ID="Headtag1" runat="server" />
        <style type="text/css">
            .rotWrapper
            {
                margin-left: auto;
                margin-right: auto;
                height: 260px;
                font-family: Arial;
                padding: 190px 0 0;
                width: 750px;
                background: #fff url("travel_back.jpg") no-repeat 0 0;
                font: 14px 'Segoe UI' , Arial, Sans-serif;
                color: #000;
            }
            
            .RemoveRotatorBorder div.rrClipRegion
            {
                /* The following style removes the border of the rotator that is applied to the items wrapper DIV of the control by default, in case the control renders buttons.
                In case you want to removed this border, you can safely use this CSS selector. */
                border: 0px none;
            }
        </style>
    </head>
    <body class="BODY">
        <form id="Form1" method="post" runat="server">
        <telerik:RadScriptManager ID="ScriptManager1" runat="server">
        </telerik:RadScriptManager>
        <qsf:Header ID="Header1" runat="server" NavigationLanguage="c#" />
        <telerik:ConfiguratorPanel runat="server" ID="ConfigurationPanel1" Enabled="true"
            Title="Switch between two CoverFlow modes" Expanded="true" Style="text-align: left;"
            HorizontalAlign="Right">
            <asp:RadioButtonList ID="dblCoverFlowModes" runat="server" AutoPostBack="true" OnSelectedIndexChanged="dblCoverFlowModes_SelectedIndexChanged">
                <asp:ListItem Selected="True" Text="CoverFlow" Value="CoverFlow"></asp:ListItem>
                <asp:ListItem Selected="False" Text="CoverFlowButtons" Value="CoverFlowButtons"></asp:ListItem>
            </asp:RadioButtonList>
        </telerik:ConfiguratorPanel>
        <div class="mainDiv">
            <asp:Panel ID="RotatorWrapper" runat="server" CssClass="rotWrapper">
                <span>Choose your Destination </span>
                <telerik:RadRotator ID="RadRotator1" runat="server" Width="748px" ItemWidth="150"
                    ScrollDirection="Left, Right" Height="233px" ItemHeight="113" ScrollDuration="500"
                    FrameDuration="2000" PauseOnMouseOver="false" RotatorType="CoverFlow" InitialItemIndex="4"
                    OnClientItemShown="OnClientItemShown" OnClientItemClicked="OnClientItemClicked"
                    CssClass="RemoveRotatorBorder">
                    <ItemTemplate>
                        <asp:Image ID="Image1" runat="server" ImageUrl='<%# Container.DataItem %>' AlternateText="<%# VirtualPathUtility.GetFileName(Container.DataItem.ToString()) %>" />
                    </ItemTemplate>
                </telerik:RadRotator>
                <script type="text/javascript">
                    //<![CDATA[
                    // The set_scrollAnimationOptions method takes two arguments - the first one is the ClientID of the rotator, which we want to configure and the second one is
                    // a hash table with the options we want to apply.
                    Telerik.Web.UI.RadRotatorAnimation.set_scrollAnimationOptions("<%= RadRotator1.ClientID %>", // The ClientID of the RadRotator
                        {
                        minScale: 0.8, // The size scale [0; 1], applied to the items that are not selected.
                        yO: 60, // The offset in pixels of the center of the selected item from the top edge of the rotator.
                        xR: -30, // The offset in pixels between the selected items and the first item on the left and on the right of the selected item.
                        xItemSpacing: 50, // The offset in pixels between the items in the rotator.
                        matrix: { m11: 1, m12: 0, m21: -0.1, m22: 1 }, // The 2d transformation matrix, applied to the items that appear on the right of the selected item.
                        reflectionHeight: 0.5, // The height of the reflection
                        reflectionOpacity: 1 // The opacity, applied to the reflection
                    }
                    ); // end of animationOptions
         //]]>
                </script>
            </asp:Panel>
        </div>
        <script type="text/javascript">
        //<![CDATA[
            var indexToScrollTo = -1;
            function OnClientItemShown(oRotator, args)
            {
                if(oRotator.get_rotatorType() == Telerik.Web.UI.RotatorType.CoverFlow)
                {
                    var currentIndex = args.get_item().get_index();
                    // Change the scroll direction of the rotator, in case it has displayed its last item for the current scroll direction.
                    if (0 == currentIndex || currentIndex == (oRotator.get_items().length - 1))
                    {
                        var directionEnum = Telerik.Web.UI.RotatorScrollDirection;
                        var newScrollDirection = 0 == currentIndex ? directionEnum.Left : directionEnum.Right;

                        oRotator.set_scrollDirection(newScrollDirection);
                        oRotator.set_animationDirection(newScrollDirection);
                    }
                }
            }

            function OnClientItemClicked(oRotator, args)
            {
                oRotator.set_currentItemIndex(args.get_item().get_index(), true);
            }
            //]]>
        </script>
        <qsf:Footer runat="server" ID="Footer1" />
        </form>
    </body>
    </html>

Get more than expected!

 
 

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2024 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451