間隔を使用して、javascript で 2 つの ID の要素を徐々に増やしようとしています。要素に 2 つの ID を渡します。位置に応じて、要素の幅が位置に依存する方向に徐々に増加するように、条件を記述しようとしています。
渡された要素の位置が oldPosition よりも小さい場合、左の要素を減らし、右の要素を徐々に増やしていきます。渡された要素の位置が oldPosition より大きい場合は逆になります。
これは、修正された私の古い問題の拡張であることに注意してください:)(Javascriptの段階的な幅の増加)
これが得たものです
function grow(elementL, elementR, elementText, position)
{
window.loopTimer = setInterval(function() {
growInner(elementL, elementR, position);
/* fadeOut(elementText); */
}, 25);
}
var oldPosition = 0;
function growInner(elementL, elementR, position)
{
var htL = parseInt(document.getElementById(elementL).style.width,10);
var htR = parseInt(document.getElementById(elementR).style.width,10);
var movementL =0;
var movementR =0;
if(position < oldPosition)
{
movementL = htL + 10;
movementR = htR - 10;
}
if(position > oldPosition)
{
movementL = htL - 10;
movementR = htR + 10;
}
if(position == 1 && htL < 600 || rtL > 250){
document.getElementById(elementL).style.width = movementL + 'px';
document.getElementById(elementR).style.width = movementR + 'px';
oldPosition = position;
}
else if(position == 2 && htL < 550 || rtL > 300){
document.getElementById(elementL).style.width = movementL + 'px';
document.getElementById(elementR).style.width = movementR + 'px';
oldPosition = position;
}
else if(position == 3 && htL < 300 || rtL > 550){
document.getElementById(elementL).style.width = movementL + 'px';
document.getElementById(elementR).style.width = movementR + 'px';
oldPosition = position;
}
else if(position == 4 && htL < 250 || rtL > 600){
document.getElementById(elementL).style.width = movementL + 'px';
document.getElementById(elementR).style.width = movementR + 'px';
oldPosition = position;
}
else{
clearInterval(loopTimer);
return false;
}
}