carousel菜单仅在刷新后加载,在IE中不起作用

时间:2014-01-18 07:13:37

标签: javascript asp.net mootools carousel

我正在动态填充轮播菜单。为此我有一个web方法,它以字符串格式返回carousel div的内部html。

在页面加载时,我从服务器端调用了一个java脚本。这个javascript称为web方法,并在成功时加载div的内部html。

问题是,当我刷新页面时它正在工作。不是第一次加载。它也不适用于IE。然而,它正在我的本地ISS上工作(仅限Chrome)。

以下是java脚本

<script type="text/javascript" >
function HandleIT() {

    var a = document.getElementById("carousel");
    PageMethods.GetCarousel(onSucess, onError);
    debugger;
    function onSucess(result) {
        debugger;
        document.getElementById("carousel").innerHTML = result;
    }
    function onError(result) {
        alert('Something wrong.');
    }
}



</script>

这就是我在页面加载时从服务器端调用此javascript的方式。

ClientScript.RegisterStartupScript([GetType](), ClientID, " HandleIT();", True)

下面是旋转木马JS

var count = 0; 
var baseSpeed = 0.05; 
var radiusX = 190; 
var radiusY = 40; 
var centerX = 300; 
var centerY = 190;
var speed = 0.3;
var imageDivs = '';
var numberOfElements = 0;
var carousel = '';
var speedTest = '';


window.addEvent('domready', function(){

    carousel = $('carousel');
    speedTest = $('speedTest');

    imageDivs = carousel.getElementsByTagName("div"); 
    numberOfElements = imageDivs.length; 

    setInterval('startCarousel()',40);

    carousel.addEvent('mousemove', onMouseMove.bindWithEvent( carousel ));

});

function onMouseMove( evt ) {

    tempX = evt.client.x;
    speed = (tempX - centerX) / 2500;

}

function startCarousel(){

    for(i=0; i < numberOfElements; i++){

        angle = i * ( Math.PI * 2 ) / numberOfElements;

        imageDivsStyle = imageDivs[ i ].style; 
        imageDivsStyle.position='absolute'; 

        posX = ( Math.sin( count * ( baseSpeed * speed ) + angle )* radiusX + centerX );
        posY = ( Math.cos( count * ( baseSpeed * speed ) + angle )* radiusY + centerY );


        imageDivsStyle.left = posX+"px"; 
        imageDivsStyle.top = posY+"px"

        imageDivWidth = posY/3;
        imageDivZIndex = Math.round(imageDivWidth)+100;

        imageDivsStyle.width = imageDivWidth+'px';
        imageDivsStyle.zIndex = imageDivZIndex;

        angle += speed;

    }

    count++
}

我也在使用moottools JS

任何人都可以帮忙。我在IE中查了一下。它没有显示任何Javascript错误。但它没有加载。它只显示第一个项目的大图标(在chrome和IE中)。重新加载后,它在Chrome中工作,而不是在IE中。

0 个答案:

没有答案