jquery show()在IE 7中移动其他元素

时间:2012-06-07 16:04:15

标签: javascript jquery internet-explorer

我有这个标记

<div class="pfbc-form" id="ticker_div" style="padding: 0px; line-height: 18px; width: 64%; margin-top: 0px; margin-left: 10px;">
    <span id="ticker"><b> Avisos y tratamientos vigentes.</b></span>
</div>
<input class="ui-button ui-widget ui-state-default ui-corner-all" style="height: 40px;width: 10%;" value="something" type="button" onclick="doSomething();"></input>

和这个js:

var array_datos = ['foo','bar'];
var i = 1;
function blink()
{
    var elem = $( "#ticker" );
    //elem.hide( 'clip', {}, 7000/5);
    elem.text(array_datos[i]);
    elem.show( 'clip', {}, 7000/5);
    if(i+1<array_datos.length)
        i++;
    else
        i = 1;
}
blink();

var timer = setInterval('blink()',7000);

此代码适用于所有浏览器,IE 7除外。当.show运行时,按钮向下移动,并在动画结束时返回其位置。

我尝试设置div的高度,但这似乎不起作用。 我不知道它发生了什么。

ps:我知道该代码中存在一些问题,但我认为这不会影响这种行为。

1 个答案:

答案 0 :(得分:0)

为容器div设置height

<div class="pfbc-form" id="ticker_div" style="height: 30px; padding: 0px; line-height: 18px; width: 64%; margin-top: 0px; margin-left: 10px;">

在这里小提琴:http://jsfiddle.net/C4KyQ/3/