How can I create a a rotator with "FormCode" mode while being able to start that rotator automatically when the page loads? I need a complete sample code for the call.
I've used the following JavaScript/JQuery code for FormCode management:
<script type
=
"text/javascript"
>
//<![CDATA[
function
startRotator(clickedButton, rotator, direction)
{
if
(!rotator.autoIntervalID)
{
refreshButtonsState(clickedButton, rotator);
rotator.autoIntervalID = window.setInterval(
function
()
{
rotator.showNext(direction);
}, rotator.get_frameDuration());
}
}
function
stopRotator(clickedButton, rotator)
{
if
(rotator.autoIntervalID)
{
refreshButtonsState(clickedButton, rotator)
window.clearInterval(rotator.autoIntervalID);
rotator.autoIntervalID =
null
}
}
function
showNextItem(clickedButton, rotator, direction)
{
rotator.showNext(direction);
refreshButtonsState(clickedButton, rotator);
}
// Refreshes the Stop and Start buttons
function
refreshButtonsState(clickedButton, rotator)
{
var
jQueryObject = $telerik.$;
var
className = jQueryObject(clickedButton).attr(
"class"
);
switch
(className)
{
case
"start"
:
{
// Start button is clicked
jQueryObject(clickedButton).removeClass();
jQueryObject(clickedButton).addClass(
"startSelected"
);
// Find the stop button. stopButton is a jQuery object
var
stopButton = findSiblingButtonByClassName(clickedButton,
"stopSelected"
);
if
(stopButton)
{
// Changes the image of the stop button
stopButton.removeClass();
stopButton.addClass(
"stop"
);
}
}
break
;
case
"stop"
:
{
// Stop button is clicked
jQueryObject(clickedButton).removeClass();
jQueryObject(clickedButton).addClass(
"stopSelected"
);
// Find the start button. startButton is a jQuery object
var
startButton = findSiblingButtonByClassName(clickedButton,
"startSelected"
);
if
(startButton)
{
// Changes the image of the start button
startButton.removeClass();
startButton.addClass(
"start"
);
}
}
break
;
}
}
// Finds a button by its className. Returns a jQuery object
function
findSiblingButtonByClassName(buttonInstance, className)
{
var
jQuery = $telerik.$;
var
ulElement = jQuery(buttonInstance).parent().parent();
// get the UL element
var
allLiElements = jQuery(
"li"
, ulElement);
// jQuery selector to find all LI elements
for
(
var
i = 0; i < allLiElements.length; i++)
{
var
currentLi = allLiElements[i];
var
currentAnchor = jQuery(
"A:first"
, currentLi);
// Find the Anchor tag
if
(currentAnchor.hasClass(className))
{
return
currentAnchor;
}
}
}
//]]>
</script
>
And the following code for the calls:
<
a href=
"#"
onclick="stopRotator(
this
, $find('<%= MyRotator.ClientID %>
'));
return
false
;"
class=
"stopSelected"
title=
"Stop"
><span>Stop</span></a> <a href=
"#"
onclick="startRotator(
this
, $find('<%= MyRotator.ClientID %>
'), Telerik.Web.UI.RotatorScrollDirection.Left);
return
false
;"
class=
"start"
title=
"Start"
><span>Start</span></a> <a href=
"#"
onclick="showNextItem(
this
, $find('<%= MyRotator.ClientID %>
'), Telerik.Web.UI.RotatorScrollDirection.Left);
return
false
;"
class=
"left"
title=
"Left"
><span>Up</span></a> <a href=
"#"
onclick="showNextItem(
this
, $find('<%= MyRotator.ClientID %>
'), Telerik.Web.UI.RotatorScrollDirection.Right);
return
false
;"
class=
"right"
title=
"Right"
><span>Down</span></a
>
However, I cannot start the rotator on the page load. Tried to use this code in the in the MyRotator_DataBoud event, but did not work either:
protected
void
rrMyRotator_DataBound(
object
sender, EventArgs
e)
{
Page.RegisterClientScriptBlock(
"MyScript"
,
"<SCRIPT Language='JavaScript'> startRotator(this, $find('<%= MyRotator.ClientID %>'), Telerik.Web.UI.RotatorScrollDirection.Left);</SCRIPT>"
);
}
Please show me the code that I need to write to start the rotator right after loading the page, and the location where I should place that code. Thank you.