jQuery .show / .hide / .toggle не работает при определенных обстоятельствах - PullRequest
0 голосов
/ 24 марта 2012

У меня есть 2 деления, которые мне нужно последовательно переключать назад и вперед, показывая и не показывая.Вот мой текущий код jQuery

$(document).ready(function(){

    $('a:link').click(function(){
    $(".surveycontainer").toggle();
    $("#check").toggle();
    });

});

Примечание. # Проверка скрыта при загрузке страницы с помощью CSS, поэтому этот сценарий говорит, что при нажатии ссылки каждая из них будет переключаться, в результате чего div "surveycontainer" исчезает, а "проверка""div появляются и наоборот.

Сценарий работает нормально при вызове RSS-канала в пределах surveycontainer (содержащего ссылку) и при нажатии переключаются все div-ы.Проблема возникает, когда в элементе div размещается простая ссылка, при нажатии на которую «опрашиваемый контейнер» скрыт, однако «проверка» не отображается!

Код Surveycontainer

<div class="surveycontainer" align="left">
<?php
// OFFERS

//Right here is a script that defines $country_code ("US" is what is called when the problem occurs)

<?php if($country_code=="US"): ?>
<a href="http://www.google.com" target="_blank">Yahoo</a>

<?php else: ?>
//Calls a RSS feed containing links here

</div>
<?php endif; ?>

Как видноесли $ country_code равен «US», ссылка Google вызывается в новом окне.

По какой-то причине, когда код страны не равен US, а данные извлекаются из RSS-канала, выше стоит скрипт jQuery икаждый div переключается при нажатии на ссылку.Однако при использовании ссылки Google и нажатии на нее скрывается только div «surveycontainer», а «check» не отображается.

Я остро нуждаюсь в решении этой проблемы!Любая помощь очень ценится, спасибо !!

1 Ответ

0 голосов
/ 24 марта 2012

место <?php endif; ?> до </div> не дает завершить ваш surveycontainer div, когда условие для ссылки Google выполненопоэтому переписывание вашего кода будет выглядеть так:

<div class="surveycontainer" align="left">
   <?php
   // OFFERS
   //Right here is a script that defines $country_code ("US" is what is called when the problem occurs)
   <?php if($country_code=="US"): ?>
      <a href="http://www.google.com" target="_blank">Yahoo</a>
   <?php else: ?>
       //Calls a RSS feed containing links here
   <?php endif; ?>
</div>
...