Javascript 关于方向改变JQuery

Javascript 关于方向改变JQuery,javascript,jquery,jquery-mobile,mobile,web,Javascript,Jquery,Jquery Mobile,Mobile,Web,我有一个方向改变功能的问题,我试图改变我的“幻灯片放映”中的一些元素的宽度,当方向改变时,我不知道为什么,但它不起作用。 我用alert检查了定向事件,在我确认警报后,突然一切正常,当我从代码中删除警报时,它返回到旧问题,似乎没有任何变化 我在搜索行中搜索答案,但未找到解决方案这是我的代码: $( window ).on( "orientationchange", function(event){ alert(event.orientation); clearInterval(

我有一个方向改变功能的问题,我试图改变我的“幻灯片放映”中的一些元素的宽度,当方向改变时,我不知道为什么,但它不起作用。 我用alert检查了定向事件,在我确认警报后,突然一切正常,当我从代码中删除警报时,它返回到旧问题,似乎没有任何变化

我在搜索行中搜索答案,但未找到解决方案这是我的代码:

$( window ).on( "orientationchange", function(event){
    alert(event.orientation);

    clearInterval(slideShowInterval);

    slideWidth = $(window).width();
    slides.css({ 'float' : 'left' , 'width' :slideWidth});
    $('#slidesHolder').css({
        'width' : slideWidth * numberOfSlides,
        'direction' : 'ltr'
    });

    slideShowInterval = setInterval(changePosition, speed);
    moveSlide();

})

我过去也遇到过类似的问题-最糟糕的是,如果你查询元素,你会发现浏览器认为它是新的宽度,只是视觉上没有反映出来(浏览器端的积极缓存?)。我有不同的解决方法-一种是将
.css
调用放入setTimeout,并允许浏览器完成方向更改,然后调用
slides.css
,这将迫使浏览器进行单独的回流。我试图设置超时,但它看起来很乱,我不知道是什么改变了,所以我只是把幻灯片的背景涂成黑色,颜色确实改变了,但尺寸的问题仍然存在。