2013-08-12 7 views
3

У меня есть навигация, вложенная в div, которая находится вне экрана влево, и когда пользователь прокручивает страницу и достигает пикселя 296, левая навигация медленно появляется по ее ширине, право.Как оживить ширину div медленно с jquery

У меня сейчас половина работы. Навигация, вложенная в div, появляется, когда пользователь прокручивает страницу вниз, но я хочу, чтобы она медленно двигалась вправо, а это не происходит. Не уверен, что я делаю неправильно. Специфическая линия у меня возникли проблемы с является:

$("#slidebottom").animate({ width: "100" }, 'slow'); 

Но вот весь мой код:

$(window).scroll(function(){ 

    var wintop = $(window).scrollTop(), docheight = $(document).height(), 
    winheight = $(window).height(); 

    var bottomHeight = $("#slidebottom").height(); 
    var zeroheight = 0; 

    if  (wintop > 296) { 
    bottomHeight = $('#slidebottom').height(docheight); 
    $("#slidebottom").animate({ width: "100" }, 'slow'); 

    } 

    if(wintop < 296) 
    { 
    bottomHeight = $('#slidebottom').height(zeroheight);  
    //$("#slidebottom").animate({ width: "0" }, 'slow'); 
    } 
}); 

ответ

6

В jQuery docs шоу Интс, а не строки, как аргументы ширина:

$("#slidebottom").animate({ width: 100 }, 'slow'); 

Редактировать: Я ошибался, это не проблема; он также обрабатывает строки.

+0

Благодарим вас за ответ. Я должен делать что-то еще неправильно, потому что это не исправить. Div появляется, но не растет в ширину медленно. Любые другие идеи? Еще раз спасибо. –

+0

arggg, nevermind ... вы определяете его правильно ... –

+1

Я собрал супер-простой jsFiddle, и, похоже, он работает так, как я ожидаю: http://jsfiddle.net/3b5qV/. Может быть, вы могли бы поместить вас в скрипку? – prekolna

1

Попробуйте следующее, может быть?

$("#slidebottom").animate({ width: '100px' }, 'slow'); 

У меня такое чувство, что устройство важно для этого, поскольку 100 может означать что угодно. Не очень конкретный. И вы можете определить это как строку просто отлично. Фактически, в примере, который они приводят для .animate, он определен как строка.

+0

В примерах, сделанных самими jQuery, он показывает это с помощью единиц: http://api.jquery.com/animate/. Возможно, это не нужно, но это то, что они используют. –

+0

Ну, я думаю, что jQuery сначала разбирает вашу строку и извлекает часть номера: P –

+0

Я считаю, что некоторые свойства css зависят от единиц в jQuery для кросс-браузера, поскольку jQuery возвращает некоторые свойства css с единицами в конце значений , имеет смысл, что его следует вернуть туда с устройством. Может быть, не для свойства 'width', а для некоторых других. –

 Смежные вопросы

  • Нет связанных вопросов^_^