Я обнаружил jQuery прошлой ночью, и это кажется очень хорошим! Я использую его, чтобы показать / скрыть идентификатор div, с щелчком в качестве триггера, чтобы показать идентификатор div, который изначально скрыт на странице. Это прекрасно работает, я гордился этим: -)
Однако у меня проблема: после нажатия на триггер я хочу, чтобы он стал скрытым.
Поэтому я попытался добавить строку, чтобы скрыть триггер onclick
, но это не только не работает, теперь при загрузке страницы отображается изначально скрытый div.
Это то, что я изначально пробовал:
$(document).ready(function () {
$(‘#showhidetarget’).hide();
$(‘a#showhidetrigger’).click(function () {
$(‘#showhidetarget’).show(200);
**$(‘a#showhidetrigger’).hide();**
});
});
Теперь кто-то предположил, что, возможно, я не могу скрыть триггер, потому что это встроенный элемент (я ничего об этом не знаю). Он предложил поместить триггер внутри другого идентификатора div, что имело смысл. Итак, после определения другого div с идентификатором «hideafterclick», который содержит триггер, код выглядит следующим образом:
$(document).ready(function () {
$(‘#showhidetarget’).hide();
$(‘a#showhidetrigger’).click(function () {
$(‘#showhidetarget’).show(200);
**$(‘#hideafterclick’).hide();**
Но с тем же самым печальным результатом: начальная часть (триггер) не скрыта, И div, который должен быть скрыт, сразу виден onload
, тогда как он должен быть скрыт. Когда я удаляю жирные строки, содержащие .hide, процедура работает отлично.
Есть предложения, что я делаю не так? Или как это решить?
Просто чтобы быть полным: обе «части» (div) содержат код и гиперссылки. На самом деле щелчок по первой части (триггер) открывает новое окно и показывает вторую часть, это работает нормально. Просто первая часть (триггер) должна впоследствии стать невидимой ...
Кто может мне помочь с этим?
Должен ли я использовать что-то еще, кроме div, может быть?
Заранее благодарим за вашу мудрость и помощь,
Томас (Бельгия)
Дорогой Шикирью, Дорогой Дэвид Йелл,
Большое спасибо за ваши jsFiddles: я не знал о jsFiddle, но он потрясающий, такой полный, такой ясный и в то же время такой простой!
Иногда счастье можно найти в небольшой детали, которая кажется неважной. Потому что, в конце концов, все что я сделал, это сделал одну небольшую модификацию ...
, изначально записанное в триггерной части, содержащей href, было так:
<a id="showhidetrigger" href="HYPERLINK"> blabla</a>
И, основываясь на вашем примере, я в итоге изменил расположение идентификатора тега, поэтому он стал:
<a href="HYPERLINK" id="showhidetrigger">blabla</a>
Не спрашивайте меня, почему, я до сих пор не знаю, в чем именно разница, но теперь это работает как шарм, и это главное! Конечно, часть HYPERLINK в моем случае очень длинная, она принадлежит CFOutput с большим количеством тегов и запросов, содержит другой javascript для открытия ссылки во всплывающем окне и т. Д., Так что, возможно, именно в этом она и пошла не так в первой место.
Я счастлив, благодаря вашей помощи!
С благодарностью,
Thomas
Привет всем,
Большое спасибо за ваши ответы до сих пор!
Об апострофах: я хорошо использовал общие «единицы», кажется, что при копировании их из почтового окна они менялись, но они в порядке в самом коде, поэтому проблемы нет.
О ** звездочках: я просто положил их туда, чтобы указать на раздел, где он идет не так. извините, если это вызвало путаницу, я понял, что ** сделает эту строку жирным шрифтом, моя ошибка. Но в любом случае в самом коде нет звездочек.
Просто пока я не добавляю эту последнюю строку, она работает отлично: onclick
href
триггера открывается (в новом окне, используя javascript) и (первоначально скрытый) целевой div становится видимым , Но как только я попытался скрыть триггер, целевой div виден при загрузке, а триггер не скрыт onclick
. Тогда я связал другой код div с кодом, содержащим триггер, но с тем же результатом.
Уважаемый Davidyell, спасибо за ваше предложение. Я постараюсь проверить, работает ли это, и дам вам знать. Страница, над которой я работаю, довольно сложная, в ColdFusion (я не знаю ColdFusion), и оба триггера, href с всплывающим окном javascript и т. Д ... все находятся внутри CFoutput. Я надеюсь, что смогу увидеть "деревья в лесу" (свободно переводится с фламандской пословицы: -)
Я буду держать вас в курсе!
С уважением,
Томас (Бельгия)