Hello,
I have created a rotator/pager following this example on the page.
http://demos.telerik.com/aspnet-ajax/rotator/examples/pagerintegration/defaultcs.aspx
I'm not sure what client side code I need to make the pager follow the item index that the rotator is on.
Here is my current code.
I have created a rotator/pager following this example on the page.
http://demos.telerik.com/aspnet-ajax/rotator/examples/pagerintegration/defaultcs.aspx
I'm not sure what client side code I need to make the pager follow the item index that the rotator is on.
Here is my current code.
public partial class _Default : JJPro.Web.Page
{
string virtualPath = "~/Images/Headers";
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
RadRotator1.DataSource = GetFilesInFolder(virtualPath);// Set datasource
RadRotator1.DataBind();
}
}
// Returns all virtual paths to files located in the given virtual directory
protected List<
string
> GetFilesInFolder(string folderVirtualPath)
{
string physicalPathToFolder = Server.MapPath(folderVirtualPath);// Get the physical path
string[] physicalPathsCollection = System.IO.Directory.GetFiles(physicalPathToFolder);// Get all child files of the given folder
List<
string
> virtualPathsCollection = new List<
string
>();// Contains the result
foreach (String path in physicalPathsCollection)
{
// The value of virtualPath will be similar to '~/PathToFolder/Image1.jpg
string virtualPath = VirtualPathUtility.AppendTrailingSlash(folderVirtualPath) + System.IO.Path.GetFileName(path);
virtualPathsCollection.Add(virtualPath);
}
return virtualPathsCollection;
}
protected void RadRotator1_DataBound(object sender, EventArgs e)
{
AddNavigationButtons();
}
private void AddNavigationButtons()
{
foreach (RadRotatorItem item in RadRotator1.Items)
{
LinkButton linkButton = CreateLinkButton(item.Index);
ButtonsContainer.Controls.Add(linkButton);
}
}
private LinkButton CreateLinkButton(int itemIndex)
{
// Create the LinkButton
LinkButton button = new LinkButton();
button.Text = (itemIndex + 1).ToString();// The test of the button
button.ID = string.Format("Button{0}", itemIndex);// Assign an unique ID
// Attach a JavaScript handler to the click event
button.OnClientClick = string.Format("showItemByIndex({0}); return false;", itemIndex);
button.Attributes.Add("onclick", "<
script
>testHello();</
script
>");
// Class which is applied to the newly added button
button.CssClass = "buttonClass";
return button;
}
}
function OnClientLoad(rotator, args) {
startRotator(rotator);
}
function startRotator(rotator) {
if (!rotator.autoIntervalID) {
rotator.autoIntervalID = window.setInterval(function () {
rotator.showNext(Telerik.Web.UI.RotatorScrollDirection.Left);
}, rotator.get_frameDuration());
}
}
function stopRotator(rotator) {
if (rotator.autoIntervalID) {
window.clearInterval(rotator.autoIntervalID);
rotator.autoIntervalID = null;
}
}
function OnClientMouseOver(rotator) {
stopRotator(rotator);
}
function OnClientMouseOut(rotator) {
startRotator(rotator);
}
// Panel Buttons
var lastShownButton;
function showItemByIndex(index) {
// gets reference to the rotator object
var oRotator = $find("<%= RadRotator1.ClientID %>");
// Sets currently shown item by its index
oRotator.set_currentItemIndex(index);
if (lastShownButton)
lastShownButton.removeClass("btnHighlight");
var currentButton = getButtonByIndex(index);
currentButton.addClass("btnHighlight");
lastShownButton = currentButton;
}
function OnClientItemShown(oRotator, args) {
var currentIndex = args.get_item().get_index();
if (lastShownButton)
lastShownButton.removeClass("btnHighlight");
var currentButton = getButtonByIndex(currentIndex);
currentButton.addClass("btnHighlight");
lastShownButton = currentButton;
}
function getButtonByIndex(index) {
var buttonIdSelector = String.format("Button{0}:first", index);
var currentButton = $telerik.$(buttonIdSelector)
return currentButton;
}
function showItemByIndex(index) {
// get reference to the rotator object
var oRotator = $find("<%= RadRotator1.ClientID %>");
// Set currently shown item by its index
oRotator.set_currentItemIndex(index);
}
function testHello()
{
alert ("Works");
}
</
script
>
<
div
class
=
"rotatorCont"
>
<
div
class
=
"rotator"
>
<
div
style
=
" margin-left: 0px;"
>
<
telerik:RadRotator
RotatorType
=
"Buttons"
ID
=
"RadRotator1"
runat
=
"server"
Width
=
"1012"
ItemWidth
=
"1012"
ScrollDirection
=
"Left, Right"
SlideShowAnimation-Type
=
"Fade"
Height
=
"300"
ItemHeight
=
"275"
FrameDuration
=
"4000"
OnClientMouseOver
=
"OnClientMouseOver"
OnClientMouseOut
=
"OnClientMouseOut"
ScrollDuration
=
"10"
SkinID
=
"WebBlue"
OnClientItemShown
=
"OnClientItemShown"
BorderStyle
=
"None"
OnClientLoad
=
"OnClientLoad"
PauseOnMouseOver
=
"False"
SlideShowAnimation-Duration
=
"500"
BorderColor
=
"Black"
OnDataBound
=
"RadRotator1_DataBound"
>
<
ItemTemplate
>
<
div
class
=
"itemTemplate"
>
<
asp:Image
ID
=
"Image1"
Width
=
"1012"
Height
=
"275"
runat
=
"server"
ImageUrl='<%# Container.DataItem %>' AlternateText="<%# VirtualPathUtility.GetFileName(Container.DataItem.ToString()) %>" />
</
div
>
</
ItemTemplate
>
<
ControlButtons
LeftButtonID
=
"leftArrow"
RightButtonID
=
"rightArrow"
/>
</
telerik:RadRotator
>
<
div
class
=
"links"
onclick
=
"stopRotator(rotator)"
>
<
asp:Panel
CssClass
=
"ScrollerButtonsContainer"
OnMouseOver
=
"OnClientMouseOver"
ID
=
"ButtonsContainer"
runat
=
"server"
>
</
asp:Panel
>
<
a
href
=
"#"
id
=
"leftArrow"
title
=
"Rotate Left"
class
=
"leftButton"
></
a
><
a
href
=
"#"
id
=
"rightArrow"
title
=
"Rotate Right"
class
=
"rightButton"
></
a
>
</
div
>
</
div
>
</
div
>
/*Rotator Buttons Css*/
.rotatorCont
{
width: 800px;
height: 400px;
margin: 10px 135px;
}
.rotator
{
margin: 0 auto;
width: 500px;
height: 220px;
}
.links
{
margin: 0px auto auto 780px;
width: 381px;
position:absolute;
z-index: 5;
}
.ScrollerButtonsContainer
{
height: 22px;
line-height: 22px;
padding: 0 5px 0 2px;
}
.ScrollerButtonsContainer .buttonClass
{
display: inline-block;
float: left;
width: 22px;
text-align: center;
text-decoration: none;
color: #eee;
}
.ScrollerButtonsContainer .buttonClass, .leftButton, .leftButton:hover, .rightButton, .rightButton:hover
{
background: url(/Images/ArrowSprite.gif) no-repeat;
}
.btnHighlight
{
background-position: 0 -110px !important;
color: #9EDA29 !important;
}
.ScrollerButtonsContainer .buttonClass
{
background-position: 0 0;
}
.ScrollerButtonsContainer .buttonClass:hover
{
background-position: 0 -110px;
color: #9EDA29;
}
.ScrollerButtonsContainer, .leftButton, .rightButton
{
float: left;
}
.leftButton, .rightButton
{
display: block;
width: 22px;
height: 22px;
}
.leftButton
{
background-position: 0 -22px;
}
.leftButton:hover
{
background-position: 0 -44px;
}
.rightButton
{
background-position: 0 -66px;
}
.rightButton:hover
{
background-position: 0 -88px;
}
.conf
{
clear: both;
height: 100px;
}
.itemTemplate
{
width: 570px;
height: 230px;
}
.info, .title
{
font-size: 14px;
}