开发者

I want to combine the FormCode and AutomaticAdvance rotator types

开发者 https://www.devze.com 2023-03-12 04:22 出处:网络
How can I create a rotator with \"FormCode\" mode while being able to start that rotator automatically when the page loads? In other words,to start the rotator automatically while enabling end user to

How can I create a rotator with "FormCode" mode while being able to start that rotator automatically when the page loads? In other words, to start the rotator automatically while enabling end user to stop/start/move next/move back.

I need a complete sample code for the call.

I've used the following JavaScript/JQuery code for FormCode management:

    <script type ="text/javascript">   

//

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(clickedBu开发者_如何学Ctton).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;

}

}

}

//]]>

And the following code for the calls:

< 

a href="#" onclick="stopRotator(this, $find('<%= MyRotator.ClientID %>

')); return false;"

class="stopSelected" title="Stop">Stop

'), Telerik.Web.UI.RotatorScrollDirection.Left); return false;"

class="start" title="Start">Start 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", " startRotator(this, $find('<%= MyRotator.ClientID %>'), Telerik.Web.UI.RotatorScrollDirection.Left);" );

}


There are a couple of examples available in the Telerik online demos for this functionality and they have code you can use. See http://demos.telerik.com/aspnet-ajax/rotator/examples/clientapicontrol/defaultcs.aspx and http://demos.telerik.com/aspnet-ajax/button/examples/slideshow/defaultcs.aspx

0

精彩评论

暂无评论...
验证码 换一张
取 消