Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[jQuery] - Задай вопрос, получи ответ |

20.04.2008, 18:33
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
[jQuery] - Задай вопрос, получи ответ
В этой теме задаём вопросы по библиотеке jQuery (Ajax, JS, Css and etc...)
FAQ
Последний раз редактировалось Isis; 20.04.2008 в 18:44..
|
|
|

20.04.2008, 18:38
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
Как проверить показан ли элемент(конкретно для выпадающей менюшки)?
Код HTML:
<script language="javascript" src="jquery-1.2.3.min.js"></script>
<script language="javascript">
function loader(page,param)
{
alert($("#content").css("display"));
$("#content").hide("slow");
$.post(page,{ param1: param},onAjaxSuccess);
function onAjaxSuccess(data)
{
$("#content").append(data);
$("#content").show("slow");
}
}
</script>
<input type="text" id="t"><input type="button" onclick="loader('ajax.php',document.getElementById('t').value)">
<span id="content"></span>
|
|
|

20.04.2008, 18:40
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
PHP код:
function loader(page,param)
{
if($('#content').is(':hidden'))
{
function onAjaxSuccess(data)
{
$("#content").append(data);
$("#content").show("slow");
}
$.post(page,{ param1: param},onAjaxSuccess);
}
else
{
$('#content').hide("slow");
$('#content').empty();
}
}
Последний раз редактировалось Isis; 20.04.2008 в 19:11..
|
|
|

20.04.2008, 18:54
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Код:
$('#content').is(undefined)
Выражение выше никогда истинным не будет, вот код из самой jQuery:
Код:
is: function( selector ) {
return selector ?
jQuery.multiFilter( selector, this ).length > 0 :
false;
},
+ не указанные параметры всегда передаются как undefined
|
|
|
[Вопрос] JQuery - cинтасис, обработка событий |

25.04.2008, 14:10
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
[Вопрос] JQuery - cинтасис, обработка событий
PHP код:
$(document).bind("ready", function(){
loginStart();
});
function loginStart()
{
$("#loginButton").click(
function()
{
// Фунция затемнения экрана, описаная в другом месте, так как повторно испрльзуеться
feed();
alert("in");
}
);
}
Вопросы:
1. Правильно ли составлен код?
2. Почему при нажатии выскакивает 2 alert("in")?
3. Как срабатывает код? Получаеться при загрузке страницы срабатывает функция loginStart(), а потом, при нажатии на кнопку, что вызывает эту функцию опять? Или кодом, что я привел выше, мы устанавливаем постоянный обработчик при нажатии на кнопку?
спс
ps
или
PHP код:
$("li").bind("click", function(){
// Фунция затемнения экрана, описаная в другом месте, так как повторно испрльзуеться
feed();
});
4.Эта функция должна помещаться всегда в оболочке?
5. 4. ГДЕ должна быть описана функция feed(); ???
Просто лна будет использоваться в разных местах, и дублировать ее код в каждой функции нет смысла
Последний раз редактировалось Naydav; 25.04.2008 в 14:39..
|
|
|

25.04.2008, 14:45
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Все работаетЭ вот так:
PHP код:
$(document).bind("ready", function(){
$("#loginButton").click(function()
{
feed();
});
});
function feed()
{
alert("i");
}
Но правильно ли составлен код?
И почему функция срабатывает два раза?
|
|
|

25.04.2008, 17:39
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Срабатывает ровно один раз:
Код:
<script src="js/jquery.js"></script>
<script>
$(document).bind("ready", function(){
$("#loginButton").click(function()
{
feed();
});
});
function feed()
{
alert("i");
}
</script>
<input type="button" id="loginButton">
Код вроде верный, может, несколько нерациональный.
Например, следующее:
Код:
$(document).bind("ready", function(){
$("#loginButton").click(function()
{
feed();
});
можно заменить на:
Код:
$(document).ready(function()
{
$('#loginButton').click(feed);
};
или
Код:
$(document).bind('ready', function()
{
$('#loginButton').bind('click', feed);
};
+ если функция loginStart вызывается один раз, можно оставить её анонимной.
И почему функция срабатывает два раза?
Недостаточно исходных данных. Могу лишь предположить, что обработчик навешен и на родительский элемент и на потомка. (События в JS " Всплывают")
P.S.
5. 4. ГДЕ должна быть описана функция feed(); ???
До какого-либо её использования.
P.P.S.
feed - это "кормить", может, нужно "fade"?
|
|
|

23.05.2008, 20:11
|
|
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме: 1215706
Репутация:
310
|
|
как сделать выпадающий элемент под тип:
slideToggle("medium");
только чтобы он выпадал по горизонтали
|
|
|

23.05.2008, 20:38
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
$("#obj").slideIn();
|
|
|

24.05.2008, 13:33
|
|
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме: 1215706
Репутация:
310
|
|
Сообщение от Naydav
$("#obj").slideIn();
не работает...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|