Имеется кнопка, при нажатии на которую должен срабатывать яваскрипт, но ничего не происходит. Можете подсказать, где я ошибся?)
<input type="submit" onClick="delete_exp( 8, Chamelion, AlmazDelDiablo );" value="Обнулить" />
function get_msg(msg) {
if(!$("body").find("#darkness").is("div")) {
$("body").append("<div id='darkness'></div>");
}
$('#box').html('<div align="center" class="msg">'+msg+'<br /><input id="confirm" type="button" value="Да" /><input id="denied" type="button" value="Нет" /></div>');
$('.msg').animate({top: "50%", margin: "-50px 0px -175px 0px", opacity: "1"}, "fast");
$('#denied').click(function(){
$('.msg').animate({top: "10px", margin: "0px 0px -175px 0px", opacity: "0"}, "fast");
});
}
function delete_exp(race_id, race_name, nickname) {
get_msg('Вы уверены, что хотите обнулить расу '+race_name+' у игрока '+nickname+'?');
$('#confirm').click(function(){
$.ajax({
type: "POST",
url: "./includes/ajax/delxp.php",
data: "race_id="+race_id+"&nickname="+nickname,
success: function(result){
get_error(result);
}
});
return false;
});
}
Спустя 9 минут, 42 секунды (27.03.2011 - 11:47) alex12060 написал(а):
<input type="button" onClick="delete_exp(8, 'Chamelion', 'AlmazDelDiablo');" value="Обнулить" />
Пробуй так.
Спустя 1 минута, 53 секунды (27.03.2011 - 11:49) AlmazDelDiablo написал(а):
Цитата (alex12060 @ 27.03.2011 - 12:47) |
Пробуй так. |
Не помогло

Спустя 21 секунда (27.03.2011 - 11:49) alex12060 написал(а):
if(!$("body").find("#darkness").is("div")) {
$("body").append("<div id='darkness'></div>");
}
Смущает немного.
Спустя 54 секунды (27.03.2011 - 11:50) alex12060 написал(а):
Если можешь, дай ссылку на нерабочий скрипт в инете, я через файрбаг посмотрю, в чем дело.
Спустя 47 минут, 3 секунды (27.03.2011 - 12:37) AlmazDelDiablo написал(а):
Спустя 5 минут, 35 секунд (27.03.2011 - 12:43) alex12060 написал(а):
Нет, не скрипт, а страницу.
Спустя 3 минуты, 56 секунд (27.03.2011 - 12:47) Snus написал(а):
AlmazDelDiablo
Запусти огнелиса и посмотри в "Инструменты -> Консоль ошибок" на что ругается.
Запусти огнелиса и посмотри в "Инструменты -> Консоль ошибок" на что ругается.
Спустя 7 минут, 58 секунд (27.03.2011 - 12:55) alex12060 написал(а):
Snus
В скрипте ошибок нет, проверил.
AlmazDelDiablo
Проверь, есть ли все у тебя ид-ники и слассы.
В скрипте ошибок нет, проверил.
AlmazDelDiablo
Проверь, есть ли все у тебя ид-ники и слассы.
Спустя 52 минуты, 56 секунд (27.03.2011 - 13:48) AlmazDelDiablo написал(а):
ИДы и классы в порядке. Устроил тест, написал простейший скриптик:
Но даже такой способ не работает. А вот в виде:
<input onclick="to_index();" type="button" value="go" />
function to_index(){
window.location.href=('./index.php');
})
Но даже такой способ не работает. А вот в виде:
<input id="toindex" type="button" value="go" />
$('#toindex').click(function(){
window.location.href=('./index.php');
});
Спустя 38 минут, 1 секунда (27.03.2011 - 14:26) Snus написал(а):
Цитата (AlmazDelDiablo @ 27.03.2011 - 10:48) |
function to_index(){ window.location.href=('./index.php'); }) |
Естественно такой способ работать не будет. Убери Скобку в конце
Спустя 1 минута, 18 секунд (27.03.2011 - 14:27) Snus написал(а):
AlmazDelDiablo
Покажи что у тебя в get_error(result);
Покажи что у тебя в get_error(result);
Спустя 27 минут, 7 секунд (27.03.2011 - 14:54) AlmazDelDiablo написал(а):
<?php
if( !$user ) {
header( 'Location: ./index.php?act=login' );
die();
}
if( (int)$_REQUEST['id'] > 9 || (int)$_REQUEST['id'] < 1 ) {
$error = 'Вы указали расу, которой не существует!';
}
if( !$error ) {
$query = $db->query( "DELETE * FROM `wc3_player_race` WHERE `player_id` =
'(SELECT `player_id` FROM `wc3_players` WHERE `player_name` = '{$user['nickname']})'"
);
if( $query ) {
$error = FALSE;
} else {
$error = 'Ошибка обуления расы...';
}
}
if( $error == FALSE ) {
echo '<script type="text/javascript">window.location.href=(\'./index.php\')</script>';
} else {
echo $error;
}
?>
Вот PHP обработчик.
Без скобки тот скрипт тоже не срабатывает. По идее у меня при нажатии на «Обнулить» должна появляться менюшка с помощью функции get_msg, но менюшка не вызывается. А без нее не должен идти ajax-запрос.
Спустя 2 часа, 4 минуты, 45 секунд (27.03.2011 - 16:59) AlmazDelDiablo написал(а):
Нашел причину. Оказывает, функции, которые должны срабатывать на клик надо писать вне «$(document).ready(function(){});»
Вроде заработало все
Вроде заработало все

Спустя 3 часа, 4 минуты, 26 секунд (27.03.2011 - 20:03) AlmazDelDiablo написал(а):
Дабы не создавать еще одну тему, напишу сюда.
Как проверить нынешнее значение какого-либо свойства КСС? Например, мне надо уничтожить объект только в том случае, если его opacity = 0. Вариант, который пришел мне в голову не работает ^^
Как проверить нынешнее значение какого-либо свойства КСС? Например, мне надо уничтожить объект только в том случае, если его opacity = 0. Вариант, который пришел мне в голову не работает ^^
$('.darkness').animate({opacity: "0"}, "fast");
if($('.darkness').css('opacity') == 0) {
$(this).remove();
}
Спустя 12 минут, 19 секунд (27.03.2011 - 20:16) SerginhoLD написал(а):
вообще должно работать. Попробуй вместо == 0 написать == "0"
Спустя 5 минут (27.03.2011 - 20:21) SerginhoLD написал(а):
ой чет я тупанул
jquery animate
$('.darkness').animate( {opacity: "0"}, "fast", function() {
$(this).remove();
});
jquery animate
Спустя 5 минут, 10 секунд (27.03.2011 - 20:26) AlmazDelDiablo написал(а):
Цитата (SerginhoLD @ 27.03.2011 - 21:21) |
ой чет я тупанул$('.darkness').animate( {opacity: "0"}, "fast", function() { jquery animate |
Ооооо, спасибо огромное

Чтобы я без вас делал?)
Спустя 5 минут, 25 секунд (27.03.2011 - 20:31) Nikitian написал(а):
в вашем случа if надо в callback animate поместить
$('.darkness').animate({opacity: "0"}, "fast",function(){
if($('.darkness').css('opacity') == 0) {
$(this).remove();
}
}
);
Спустя 1 день, 14 часов, 13 минут, 16 секунд (29.03.2011 - 10:44) AlmazDelDiablo написал(а):
И снова я к вам, ребят )
Либо я не понял JS, либо одно из двух. По идее, при нажатии на #confirm функция get_msg() возвращает TRUE и тогда функции delete_exp() переменная «а» становится TRUE и если это так, то должен выступить алерт, но эотого не происходит. Во всем остальном JS работает корректно.
function get_msg(msg) {
if(!$('body').find('.darkness').is('div')) {
$('body').append('<div class="darkness"></div>');
$('.darkness').animate({opacity: "0.55"}, "fast");
}
$('body').append('<div align="center" class="msg">'+msg+'<br /><input id="confirm" type="button" value="Да" /><input id="denied" type="button" value="Нет" /></div>');
$('.msg').animate({top: "50%", opacity: "1"}, "fast");
$('#denied').click(function(){
$('.msg').animate({top: "40%", opacity: "0"}, "fast", function(){
$(this).remove();
});
$('.darkness').animate({opacity: "0"}, "fast", function(){
$(this).remove();
});
return false;
});
$('#confirm').click(function(){
$('.msg').animate({top: "40%", opacity: "0"}, "fast", function(){
$(this).remove();
});
$('.darkness').animate({opacity: "0"}, "fast", function(){
$(this).remove();
});
return true;
});
}
function delete_exp(race_id, race_name, nickname) {
var a = get_msg('Вы уверены, что хотите обнулить расу <strong>'+race_name+'</strong> у игрока <strong>'+nickname+'</strong>?');
if( a === true ) {
alert('TRUE');
}
}
Либо я не понял JS, либо одно из двух. По идее, при нажатии на #confirm функция get_msg() возвращает TRUE и тогда функции delete_exp() переменная «а» становится TRUE и если это так, то должен выступить алерт, но эотого не происходит. Во всем остальном JS работает корректно.
Спустя 12 минут, 6 секунд (29.03.2011 - 10:56) alex12060 написал(а):
Что это:
Делает здесь?
Оно работает?
$('#confirm').click(function(){
$('.msg').animate({top: "40%", opacity: "0"}, "fast", function(){
$(this).remove();
});
$('.darkness').animate({opacity: "0"}, "fast", function(){
$(this).remove();
});
return true;
});
Делает здесь?
function get_msg(msg)
Оно работает?
Спустя 1 минута, 37 секунд (29.03.2011 - 10:58) AlmazDelDiablo написал(а):
Скрывает сообщение, которое выдается в начале get_msg() и возращает TRUE туда, откуда была вызвана. Ну в задумке.
Спустя 8 минут, 25 секунд (29.03.2011 - 11:06) alex12060 написал(а):
Пропиши в самом низу функции get_msg()
return true;
Спустя 28 минут, 17 секунд (29.03.2011 - 11:35) AlmazDelDiablo написал(а):
Теперь у меня алерт выдается сразу, как только вызывается get_msg(). А мне, все-таки, нужно сделать сообщение с вариантами ответа «Да» или «Нет» и в зависимости от выбора юзера будет происходить алерт или просто выключение менюшки.
Хммм.. наверное надо как-то приостановить исполнение функции delete_exp на время, пока исполняется get_msg().
Хммм.. наверное надо как-то приостановить исполнение функции delete_exp на время, пока исполняется get_msg().
Спустя 30 минут, 41 секунда (29.03.2011 - 12:05) alex12060 написал(а):
Проще вместо ретрнов поставить функцию. И проверок не надо будет делать...
Спустя 37 минут, 3 секунды (29.03.2011 - 12:43) AlmazDelDiablo написал(а):
Сделал вот так (заработало):
function get_msg(msg) {
if(!$('body').find('.darkness').is('div')) {
$('body').append('<div class="darkness"></div>');
$('.darkness').animate({opacity: "0.55"}, "fast");
}
if(!$('body').find('.msg').is('div')) {
$('body').append('<div align="center" class="msg">'+msg+'<br /><input id="confirm" type="button" value="Да" /><input id="denied" type="button" value="Нет" /></div>');
$('.msg').animate({top: "50%", opacity: "1"}, "fast");
} else {
close_msg();
$('body').append('<div align="center" class="msg">'+msg+'<br /><input id="confirm" type="button" value="Да" /><input id="denied" type="button" value="Нет" /></div>');
$('.msg').animate({top: "50%", opacity: "1"}, "fast");
}
$('#denied').click(function(){
close_msg();
return false;
});
}
function close_msg() {
if($('body').find('.msg').is('div')) {
$('.msg').animate({top: "40%", opacity: "0"}, "fast", function(){
$(this).remove();
});
if($('body').find('.darkness').is('div')) {
$('.darkness').animate({opacity: "0"}, "fast", function(){
$(this).remove();
});
}
}
}
function delete_exp(race_id, race_name, nickname) {
get_msg('Вы уверены, что хотите обнулить расу <strong>'+race_name+'</strong> у игрока <strong>'+nickname+'</strong>?');
$('#confirm').click(function(){
close_msg();
alert('TRUE');
});
}
_____________
Блог | VK | GitHub | Twitch