Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ребята срочно нужен совет как исправить (https://javascript.ru/forum/jquery/72172-rebyata-srochno-nuzhen-sovet-kak-ispravit.html)

Sansan222rus 13.01.2018 10:41

Ребята срочно нужен совет как исправить
 
Вопрос вот в чем по клику по банеру
<div class="pull-left" id="link1"><a href="#"><img src="/1.gif"></a></div>


id="link1" передается в обработчик

(function ($) {
	"use strict";

		function checkResult(){
			if(jQuery(".result1").length && jQuery(".result2").length && jQuery(".result3").length && jQuery(".result4").length && jQuery(".result5").length){
				jQuery("#panelb").removeClass("none");
			}
		}
		jQuery('body').on('click', '#link1 a', function(){
			jQuery("#result1").html("<i class='fa fa-check blue'></i>").addClass("result1");
			checkResult();
		});
		jQuery('body').on('click', '#link2 a', function(){
			jQuery("#result2").html("<i class='fa fa-check blue'></i>").addClass("result2");
			checkResult();
		});
		jQuery('body').on('click', '#link3 a', function(){
			jQuery("#result3").html("<i class='fa fa-check blue'></i>").addClass("result3");
			checkResult();
		});
		jQuery('body').on('click', '#link4 a', function(){
			jQuery("#result4").html("<i class='fa fa-check blue'></i>").addClass("result4");
			checkResult();
		});
		jQuery('body').on('click', '#link5 a:not(a:first)', function(){
			jQuery("#result5").html("<i class='fa fa-check blue'></i>").addClass("result5");
			checkResult();
		});
		
		jQuery(".close-alert").click(function(){
			jQuery(this).parent().fadeOut();
			return false;
		});

})(jQuery);


а вот что в результате получается

<p>Чтобы получить бонус сделайте следуещее:</p>

<p>1. Кликните по <b>верхнему левому</b> баннеру. <span id="result1"></span></p>

<p>2. Кликните по <b>верхнему правому</b> баннеру. <span id="result2"></span></p>

<p>3. Кликните по <b>нижнему левому</b> баннеру. <span id="result3"></span></p>

<p>4. Кликните по <b>нижнему правому</b> баннеру. <span id="result4"></span></p>

<p>5. Кликните по <b>ссылке</b> справа. <span id="result5"></span></p>

<div class="none" id="panelb">

<p><a href="<?=$bnslink;?>" class="button">Получить бонус</a></p>
										
</div>

но почему-то кнопка не исчезает и не поевляется тоесть суть в чем после клика по 4 банерам и одной ссылке обработчик выводит галочки о рнезультате задания и после 5 галочки тоесть 5 клик по ссылке должна появиться кнопка но оана в самом начале не убераеться

рони 13.01.2018 10:53

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Sansan222rus 13.01.2018 11:04

Отформатировал

рони 13.01.2018 11:45

Sansan222rus,
всё должно работать, может href и target="_blank" не указан в ваших банерах?

рони 13.01.2018 11:47

Цитата:

Сообщение от Sansan222rus
в самом начале не убераеться

Цитата:

Сообщение от Sansan222rus
class="none"

в css есть?

.none{
    display: none;
  }

Sansan222rus 13.01.2018 12:58

css указан

Sansan222rus 13.01.2018 13:01

Цитата:

Сообщение от рони (Сообщение 475094)
в css есть?

.none{
    display: none;
  }

href и target="_blank" тоже указан кнопка исчезает я сделал но не появляеться

Sansan222rus 13.01.2018 13:05

Цитата:

Сообщение от рони (Сообщение 475094)
в css есть?

.none{
    display: none;
  }

вОТ И Я НЕ ПОНЕМАЮ ПОЧЕМУ НЕ ОТОБРАЖАЕТЬСЯ

Nexus 13.01.2018 17:00

Как я понял, проблема в том, что кнопка "получить бонус" не отображается.
Попробуйте в самое начало функции "checkResult" вставить это:
console.log(
	$('.result1,.result2,.result3,.result4,.result5').length,
	$('.result1,.result2,.result3,.result4,.result5').toArray().map(function(node){
		return node.className;
	});
);

Перед кликом по последнему элементу откройте консоль (chrome: F12, вкладка "console") и посмотрите, что там будет отображено.


Часовой пояс GMT +3, время: 22:02.