Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2012, 17:07
Аспирант
Отправить личное сообщение для Jeer Посмотреть профиль Найти все сообщения от Jeer
 
Регистрация: 23.01.2011
Сообщений: 30

и снова scrollTo
Доброго времени суток!
Не работает scrollTop, может быть кто-то сталкивался, код:

//работает со старой версией jQuery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>

//не работает с новой версией
//<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>



<script type="text/javascript">
            function myFu() {
                $('#content').append('<p>aaaaaaa</p>');
                $("#content").animate({ scrollTop: $("#content").attr("scrollHeight") - 20 }, 'normal');
                return false;
            }
</script>

        <a href="#" onclick="myFu();">aaaa</a>

<div id="content" style="position: fixed;bottom: 0px; height:250px; bottom: 0px; overflow:auto;border: 1px solid black; width: 99%">
                <p style="padding-bottom:10px;">123</p>
                <p style="padding-bottom:10px;">123</p>
                <p style="padding-bottom:10px;">123</p>
                <p style="padding-bottom:10px;">123</p>
</div>


При нажатии на ссылку добавляется элемент в див и прокручивается вниз. Со старыми версиями jquery это работает, с новыми отказывается.
Во всех рабочих документациях участвуют старые версии jQuery.
Просто на этот див мне нужно навесить еще ресайзабл, а он со старыми версиями не работает, меж двух огней оказался.
Гуру помогите, спасибо.

Последний раз редактировалось Jeer, 24.12.2012 в 17:56.
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2012, 20:10
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

попробуй так
<script type="text/javascript">

function myFu() {
$('#inner').append('<p>aaaaaaa</p>');
$("#content").animate({ scrollTop: $('#inner').height() }, 500);

}
</script>

<a href="#" onclick="myFu();return false">aaaa</a>

<div id="content" style="position: fixed;bottom: 0px; height:250px; bottom: 0px; overflow:auto; border: 1px solid black; width: 80%">
<div id="inner">    
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
</div>
</div>

Последний раз редактировалось bushstas, 24.12.2012 в 20:14.
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2012, 22:01
Аспирант
Отправить личное сообщение для Jeer Посмотреть профиль Найти все сообщения от Jeer
 
Регистрация: 23.01.2011
Сообщений: 30

Специально же подробно написал
//работает со старой версией jQuery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>

я привел аналогичный рабочий пример. Если подключить новую библиотеку jQuery, например,
//не работает с новой версией
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
,

то не работает. Использование старой библиотеки меня не устраивает, потому что используются вещи, которые не работают со старой версией (например, resizable)
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2012, 22:04
Аспирант
Отправить личное сообщение для Jeer Посмотреть профиль Найти все сообщения от Jeer
 
Регистрация: 23.01.2011
Сообщений: 30

ОУУ ) нет, это мои криворуки ) действительно, так работает!
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2012, 22:04
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

так мой вариант работает в новой версии, разве не это тебе надобно?
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2012, 22:55
Аспирант
Отправить личное сообщение для Jeer Посмотреть профиль Найти все сообщения от Jeer
 
Регистрация: 23.01.2011
Сообщений: 30

Сорри, так я тоже делал ) рассказываю шаг 2 ) Подключаем ресайзабл элемента. Казалось бы, что всё получилось, наш див ресайзится, при добавлении элемента скроллинг уходит вниз. Но после одного добавления через .append() див перестает ресайзится.
Аналогичный результат я получил в первом посте подключая библиотеку версии
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>

смотрим:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />

function myFu() {
$('#inner').append('<p>aaaaaaa</p>');
$("#content").animate({ scrollTop: $('#inner').height() }, 500);
$("#content").resizable({ animate: true, handles: 'n' });//это должно быть, чтобы после каждого добавления контента оставалась возможность ресайза
}


</script>

<a href="#" onclick="myFu();return false">aaaa</a>

<div id="content" style="position: fixed;bottom: 0px; height:250px; bottom: 0px; overflow:auto; border: 1px solid black; width: 80%">
<div id="inner">    
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
</div>
</div>


<script>
//это чтобы при загрузке работало
$(document).ready(function () {
        $("#content").resizable({ animate: true, handles: 'n' });
    })
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 25.12.2012, 14:31
Аспирант
Отправить личное сообщение для Jeer Посмотреть профиль Найти все сообщения от Jeer
 
Регистрация: 23.01.2011
Сообщений: 30

Разобрался, просто ползунок ресайза уходил вверх, он не пропадал, а надо было перемотать скроллинг вверх, тогда можно было ресайзить. Я обернул все внутренности в еще один див и подставил коррекцию высоты. Всё работает, всем спасибо!
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />

function myFu() {
$('#inner').append('<p>aaaaaaa</p>');
$("#content").animate({ scrollTop: $('#inner').height() }, 500);
$("#content").css("height", "100%");//вот она, рыба моей мечты
}


</script>

<a href="#" onclick="myFu();return false">aaaa</a>

<div id="outer" style="position: fixed;height:250px; bottom: 0px; border: 1px solid black; width: 99%">
<div id="content" style="overflow:auto;border: 1px solid black; width: 100%">
<div id="inner">    
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
<p style="padding-bottom:10px;">123</p>
</div>
</div>
</div>

<script>
//это чтобы при загрузке работало
$(document).ready(function () {
        $("#outer").resizable({ animate: true, handles: 'n' });
    })
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова о функции с переменным кол-во аргументов aleksp Общие вопросы Javascript 15 16.12.2011 03:22
И снова о валидации (remote в jQuery.validation v1.7) Sufir jQuery 0 02.03.2011 13:50
Снова проверка форм Falcon Элементы интерфейса 1 04.12.2009 01:59
Java ScrollTo. Скрол картинок на java. Надо подправить. vdm Ваши сайты и скрипты 1 28.10.2009 20:46
Java ScrollTo. Скрол картинок на java. Надо подправить. vdm Работа 0 27.10.2009 14:57