Расширение JQuery и сжатие div при нажатии

Я пытаюсь использовать jQuery для расширения и сжатия высоты деления при нажатии на ссылку, и я не могу на всю жизнь понять, что я делаю неправильно.

Вот HTML;

<div id="slider" class="map">
    <div id="map-canvas">this is a test</div>
</div>

<div id="slider-map"><a href="#" id="expand">Expand +</a></div>

Высота слайдера по умолчанию составляет 300 пикселей в CSS

Вот jQuery;

$(document).ready(function() {

    var maxWidth = 500;
    var minWidth = 300;

    $("#expand").click(
        function(){
            var curHeight = $("#slider").height();
            if(curHeight==300)
            {
                $("#slider").animate({height: maxWidth+"px"}, { queue:false, duration:400 });
                $("#expand").html("Contract <small style='font-size:12px;'>-</small>");
            }
            else
            {
                $("#slider").animate({height: minWidth+"px"}, { queue:false, duration:400 });
                $("#expand").html("Expand <small style='font-size:12px;'>+</small>");
            }
        return false;
    });
}

Я попробовал это, не вызывая API карт Google в div карты-холста, чтобы увидеть, был ли это виновником, но это все равно не будет работать.

Любая помощь приветствуется

1 ответ

Вы забыли закрыть $(document).ready(); функция

ЯШ:

$(document).ready(function(){

    var maxWidth = 500;
    var minWidth = 300;

    $("#expand").click(

        function(){
            var curHeight = $("#slider").height();
            alert(curHeight);
            if(curHeight==300)
            {
                $("#slider").animate({height: maxWidth}, { queue:false, duration:400 });
                $("#expand").html("Contract <small style='font-size:12px;'>-</small>");
            }
            else
            {
                $("#slider").animate({height: minWidth}, { queue:false, duration:400 });
                $("#expand").html("Expand <small style='font-size:12px;'>+</small>");
            }
        return false;
    });
});

CSS:

.map
{
    background-color:green;
}

<div id="slider" class="map">
    <div id="map-canvas">this is a test</div>
</div>

HTML:

<div id="slider-map"><a href="#" id="expand">Expand +</a></div>

работает для меня. проверено в хроме;)

Другие вопросы по тегам