2009-11-09 6 views
0

pouvez-vous me dire pourquoi ce JavaScript ne fonctionne pas.pourquoi javascript onclick div diapositive ne fonctionne pas?

function expand() 
{ 
    var slidingDiv = document.getElementById("expandDiv"); 
    var startPosition = 350; 
    var stopPosition = -150; 
    if ((parseInt(slidingDiv.style.top) > stopPosition)&&(parseInt(slidingDiv.style.top) < startPosition)) 
    { 
     slidingDiv.style.top = parseInt(slidingDiv.style.top) + 5 + "px"; 
     setTimeout(expand, 5); 
    } 
} 

....... 
<a onclick="expand();">Expand</a> 
<div id="expandDiv" style="width:300;height:100;background-color:#fff;position:absolute;border:1px solid #ccc;">hello<br />great testing</div> 
+2

Expliquez "ne fonctionne pas". – Tomalak

+0

signifie qu'il n'est pas en expansion le (style.top) de la div – user153887

Répondre

3
function expand() 
{ 
    var slidingDiv = document.getElementById("expandDiv"); 
    var startPosition = 350; 
    var stopPosition = -150; 
    var value = parseInt(slidingDiv.style.top.replace("px", "")); 
    if (value > stopPosition && value < startPosition) 
    { 
     slidingDiv.style.top = (value + 5).toString() + "px"; 
     setTimeout(expand, 5); 
    } 
} 

Vous pouvez également utiliser jQuery pour le faire.

function expand() 
{ 
    $("#expandDiv").slideDown(2000, function() { 
     // Afterwards 
    }); 
} 
+0

merci votre méthode fonctionne :) – user153887

+0

N'oubliez pas de créer un compte. Vous êtes plus susceptible d'obtenir des réponses. – ChaosPandion

+0

Excellent cas pour l'utilité de jQuery. – Travis

Questions connexes