2015-04-01 2 views
2

У меня есть этот стек div, который меняет индекс z на клик. Когда новый div получает самый высокий индекс z, который находится сверху, я хочу анимировать его высоту. от 0 до 100p, так что похоже, что он «растет».Анимация высоты div

Любой, кто может помочь в этом?

jsFiddle: http://jsfiddle.net/nfp17etg/2/

<div class="holder"> 
    <div class="one current">1</div> 
    <div class="two">2</div> 
    <div class="three">3</div> 
</div> 
<button>click</button> 
body { 
    margin:0; 
    padding:0; 
} 
.holder { 
    width: 100px; 
    height:100px; 
    border:1px solid #000000; 
    position: relative; 
} 

.holder div { 
    width: 100px; 
    height: 100px; 
    position:absolute; 
    top:0; 
    left:0; 
    z-index:0; 
} 
.holder div.current{ 
    z-index:1; 
} 
.one { 
    background:red; 
} 
.two { 
    background:green; 
} 
.three { 
    background: blue; 
} 
$("button").click(function(){ 
    if ($(".holder >div:last-child").hasClass("current")) { 
     $(".holder >div:last-child").removeClass("current"); 
     $(".holder >div:first-child").addClass("current"); 
    } 
    else { 
     $(".current").removeClass("current").next().addClass("current"); 
    } 
}); 
+0

Вы можете просто имитировать рост с 'преобразования: масштаб (1,5, 1,5) 'или что-то - http: // ww w.w3schools.com/css/css3_2dtransforms.asp –

+0

добавлен код. спасибо за вход. вот что я думаю. просто не знаю, как его применять. я не хочу, чтобы он масштабировал. только анимируйте высоту. – user2952238

+0

Нравится? http://jsfiddle.net/muzikant1986/nfp17etg/3/ –

ответ

1

Попробуйте один

$(document).ready(function(){ 
    $("button").click(function(){ 
     var div = $("div"); 
     div.animate({height: '300px', opacity: '0.4'}, "slow"); 
     div.animate({width: '300px', opacity: '0.8'}, "slow"); 
     div.animate({height: '100px', opacity: '0.4'}, "slow"); 
     div.animate({width: '100px', opacity: '0.8'}, "slow"); 
    }); 
}); 

check jsFiddle demo:

+0

привет, спасибо! это почти то, что я хочу. Я немного изменил скрипку, чтобы объяснить мою проблему дальше. Я хочу, чтобы все divs ниже были видимыми и имели высоту. его просто верхний, который будет оживлять от 0 до 100 пикселей. http://jsfiddle.net/nfp17etg/5/ – user2952238

+0

К сожалению, у меня его не было. все еще не там, как вы видите на скрипке. – user2952238