嵌入式Silverlight与在IE8上执行的Javascript结合使用

嵌入式Silverlight与在IE8上执行的Javascript结合使用,javascript,jquery,silverlight,internet-explorer-8,jquery-animate,Javascript,Jquery,Silverlight,Internet Explorer 8,Jquery Animate,我有一个简单的coverflow微调器,其中包含用javascript制作的图像,特别是jquery动画。微调器在大多数浏览器中工作正常,但在IE7/IE8中有点慢。然而,当我的嵌入式silverlight材质正在播放(流式视频)时,微调器的性能(在同一页面上的同一时间)确实会下降。它在IE7上变得非常慢-但在IE8上它变得非常慢,以至于根本无法进行动画-只是挂起几秒钟,然后立即翻转 问题是:当同时使用Silverlight和javascript时,IE8有什么特别之处吗 有关微调器和silve

我有一个简单的coverflow微调器,其中包含用javascript制作的图像,特别是jquery动画。微调器在大多数浏览器中工作正常,但在IE7/IE8中有点慢。然而,当我的嵌入式silverlight材质正在播放(流式视频)时,微调器的性能(在同一页面上的同一时间)确实会下降。它在IE7上变得非常慢-但在IE8上它变得非常慢,以至于根本无法进行动画-只是挂起几秒钟,然后立即翻转

问题是:当同时使用Silverlight和javascript时,IE8有什么特别之处吗

有关微调器和silverlight的一些信息:

微调器:

所有图像都放置在一个数组中,每个位置对应一组css属性。数组在每次单击时都会发生变化,并再次绘制

// one of the positions - css property
POS_N : {
    left : '50%',
    top : '50%',
    right : 'auto',
    display : 'block',
    width : 200,
    height : 288,
    marginLeft : -Math.floor(200 / 2),
    marginTop : -Math.floor(288 / 2),
    zIndex : 5005
},
旋转代码:

/**
 * Spin - Spins the carousel
 */
spin : function(index) {
    var self = this;

    // shift the array
    var steps = parseInt(index) - self.CURRENT_POS;

    for ( var i = 0; i < Math.abs(steps); i++) {
        // left or right?
        if (steps < 0) {
            self.ITEMS.unshift(self.ITEMS.pop());
        } else {
            self.ITEMS.push(self.ITEMS.shift());
        }
    }

    var animationWorklist = [];

    // iterate items
    $.each(this.ITEMS, function(i, data) {
        var className = (i === self.CURRENT_POS) ? 'focused slide slide' + i : 'slide slide' + i;
        var el = self.ITEMS[i].el;

        // deep copy
        var dress = self.dress(i); // get the CSS position object for this array positon

        // remove properties
        delete dress.zIndex;

        // item needs to go around behind the other items - set lower zIndex
        var lastItem = (steps < 0 && i === 0) || (steps > 0 && i === self.ITEMS.length - 1);

        if (lastItem) {
            zIndex = self.POS_NONE.zIndex;
        }

        // update dom
        el.attr('class', className).find('a').attr('rel', i).find('span').html(i);

        var pos = index - self.CURRENT_POS;

        // only animate items within viewing range
        if (pos >= -3 || pos <= 3) {
            if (self.isIE78) {

                // remove properties
                delete dress.right;
                delete dress.display;
                delete dress.marginRight;

                if (pos === 0) {
                    dress.marginRight = 'auto';
                }
            }

            animationWorklist.push({
                css : dress,
                zIndex : zIndex,
                el : el
            });
        } else {
            el.css(dress);
        }
    });

    for ( var i = 0; i < animationWorklist.length; i++) {
        var item = animationWorklist[i];
        item.el.stop(false, true).css('z-index', item.zIndex).animate(item.css);
    }
},
/**
*旋转-旋转旋转木马
*/
自旋:函数(索引){
var self=这个;
//移动阵列
var steps=parseInt(index)-self.CURRENT\u POS;
对于(var i=0;i0&&i==self.ITEMS.length-1);
如果(最后一项){
zIndex=self.POS_NONE.zIndex;
}
//更新dom
el.attr('class',className).find('a').attr('rel',i).find('span').html(i);
var pos=指数-自身当前位置;
//仅对查看范围内的项目设置动画
如果(位置>=-3 | |位置

gif
还是
js
动画,ie7/8性能非常差。微调器中的所有图像都是jpg
<div id="playerEmbed">
    <div id="silverlightControlHost">
        <object id="silverlightControl" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="<%= this.videoWidth %>" height="<%= this.videoHeight %>">
            <param name="source" value="<%= path %>" />
            <param name="onError" value="onSilverlightError" />
            <param name="minRuntimeVersion" value="5.0.61118.0" />
            <param name="autoUpgrade" value="true" />
        <param name="enableGPUAcceleration" value="true" />
            <param name="InitParams" value="scriptableName=Player,MediaUri=<%=this.url%>" />
            <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration: none">
                <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style: none" />
            </a>
        </object>
        <iframe id="_sl_historyFrame" style="visibility: hidden; height: 0px; width: 0px; border: 0px"></iframe>
    </div>
</div>