JQuery показать / скрыть - PullRequest
0 голосов
/ 21 мая 2010

Могу ли я использовать jquery, чтобы показать / скрыть определенный div на другой странице?

т.е. у меня есть Content.aspx, который показывает контент для различных планов, которые мы предлагаем.

На detail.asp У меня есть более подробная страница, на которой есть уникальные элементы div.

<div id="detail-a">
     detailed content here for product A.
</div>

<div id="detail-b">
     detailed content here for product B.
</div>

Я не хочу, чтобы окно показа скрывалось для прокрутки, чтобы показать подробности остальной части страницы ... если это все делаетчувство ...

Ответы [ 3 ]

1 голос
/ 22 мая 2010

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

Вкл. Contents.aspx

<a href="details.asp#detail-a">See Detail A</a>
<a href="details.asp#detail-b">See Detail B</a>

Вкл. details.asp

<div id="detail-a">
  Data on Detail A
</div>
<div id="detail-b">
  Data on Detail B
</div>
<script type="text/javascript">
$( document ).ready( function(){
  /* If there is a Hash and the Hash is an ID on this page */
   if( document.location.hash && $( document.location.hash ) ) {
    /* Hide all the Detail DIVs */
     $( 'div[id^="detail-"]' ).not( document.location.hash ).hide();
    /* Show the Specified Detail DIV */
     $( document.location.hash ).show();
   }
} );
</script>
0 голосов
/ 21 мая 2010

Возможный дубликат Отображение и скрытие div с помощью jQuery и / или Использование JQuery для отображения и скрытия события onClick другого div .

Выбор элемента по идентификатору в jquery - это $ ('# idname'), а show / hide - просто .show() и .hide(), поэтому для ваших элементов

$('#detail-a').show();
$('#detail-b').hide();

Прилагается, конечно, к какому-то триггеру события.

0 голосов
/ 21 мая 2010

Вы можете настроить отображение div: нет. Как:

$ ("# mydiv"). Css ("display", "none");

EDIT: Я на самом деле не проверял это, но не мог бы вы просто запустить каждый div как display: none и в вашей ссылке на новое окно добавьте хеш вроде: mypage.htm / # detail1.

, затем на этой странице готового документа получите location.href и установите отображение для этого элемента обратно, как описано выше.

Это не ответ, а непроверенное предложение. Вполне возможно, есть более элегантное решение для этого.

...