Применение параметра var

AG
На сайте с 13.10.2014
Offline
44
427

Здравствуйте.

Подскажите почему не срабатывают var pn_open = 300; и var pn_close = 300;?

<script type="text/javascript">

var pn_open = 300;
var pn_close = 300;
</script>

<script type="text/javascript">
$(function() {
$(window).scroll(function(){
var distanceTop = $('.showpn').offset().top - $(window).height();
if ($(window).scrollTop() > distanceTop)
$('.slideboxpn').animate({'bottom':'0px'},pn_open);
else
$('.slideboxpn').stop(true).animate({'bottom':'-200px'},pn_close);
});
});
</script>

Вот так все работает

$('.slideboxpn').animate({'bottom':'0px'},300);
C
На сайте с 26.10.2013
Offline
54
#1

Читайте про область видимости


<script type="text/javascript">
$(function() {
$(window).scroll(function(){
var pn_open = 300;
var pn_close = 300;
....................
});
});
</script>
Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
AG
На сайте с 13.10.2014
Offline
44
#2

colorito, я хотел эти две функции вывести отдельным скриптом.

B
На сайте с 27.09.2011
Offline
38
#3

Так объявите их глобально и будет вам счастье

<script type="text/javascript">
pn_open = 300;
pn_close = 300;
</script>
AG
На сайте с 13.10.2014
Offline
44
#4

Bearburger, не совсем понял как это глобально сделать. Что то не так

<script type="text/javascript">

pn_open = 300;
pn_close = 300;
</script>

<script type="text/javascript">
$(function() {
$(window).scroll(function(){
var distanceTop = $('.showpn').offset().top - $(window).height();
if ($(window).scrollTop() > distanceTop)
$('.slideboxpn').animate({'bottom':'0px'},pn_open);
else
$('.slideboxpn').stop(true).animate({'bottom':'-200px'},pn_close);
});
});
</script>
B
На сайте с 27.09.2011
Offline
38
#5

Вы HTML-то покажите. https://jsfiddle.net/ngu9qbw0/1/ в консоли можете убедиться, что pn_open и pn_close доступны внутри замыкания.

AG
На сайте с 13.10.2014
Offline
44
#6

Bearburger, да, оно работает https://jsfiddle.net/7fkjcgef/

Но почему тогда у меня на сайте не хочет... делаю вот так

<script type="text/javascript">
pn_open = 300;
pn_close = 300;
</script>

<script type="text/javascript">
$(function() {
$(window).scroll(function(){
var distanceTop = $('.showpn').offset().top - $(window).height();
if ($(window).scrollTop() > distanceTop)
$('.slideboxpn').animate({'bottom':'0px'},pn_open);
else
$('.slideboxpn').stop(true).animate({'bottom':'-200px'},pn_close);
});
});
</script>

---------------------

Все заработало. Моя невнимательность, один символ напутал.

Спасибо всем за помощь!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий