вызов функции на одной странице по ссылке на другой странице - PullRequest
3 голосов
/ 23 июня 2009

У меня есть HTML-страница (django), которая содержит несколько элементов div (каждый из которых отображает разные данные) и один элемент div с навигационными ссылками. Я назову это моей главной страницей. У меня есть внешний файл .js (jQuery), который показывает один div отображения на главной странице и одновременно скрывает все остальные (кроме div навигации) в зависимости от выбранной навигационной ссылки.

$ (функция () {

$("#sl_sectorbr").click(function showSectorMini(){
  $(".minimenu").hide();
  $(".minimenu > *").hide();
  $("#sector_mini").fadeIn("slow");
  $("#sector_mini > *").fadeIn("slow");
});

Все это прекрасно работает. У меня вопрос, хочу ли я разместить «навигационные ссылки» на второй html-странице; что при нажатии будет загружаться как моя главная страница, так и вызываться / выполнять определенную функцию, например «showSectorMini ()», как если бы он был нажат на самой главной странице - как бы я написал этот код? Буду очень признателен за любую помощь.


Ох .... существующий класс ...

}
/* ------- Interaction Containers Class -------- */
.interactContainers {
padding:8px;
border:#999 1px solid;
display:none;
}

Но вы, наверное, уже знали это!

Steve


Джентльмены ...

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

Как ты относишься к моим потребностям?

Ссылка на отдельную страницу: <a href="myprofile.php?id='. $id .'" target="_parent">Email</a></div>

Страница, на которой идет код:

function toggleSlideBox(x) {
    if ($('#'+x).is(":hidden")) {
            $(".interactContainers").slideUp(200);
            $('#'+x).slideDown(300);

    } else {
        $('#'+x).slideUp(300);
    }
}

и div это ...

<div class="interactContainers"  id="interactContainers" style="background-color: #EAF4FF;">

Я просто хочу щелкнуть ссылку (электронная почта) на одной странице ... чтобы она открыла правильную страницу профиля персоны (id) ... и затем выполнить мой существующий JavaScript-код toggleSlideBox.

Это выполнимо без связки или перекодирования с помощью javascript, который у меня есть с IQ 4 дюйма: \

Спасибо за любую помощь, которую вы оказываете

S

Ответы [ 3 ]

2 голосов
/ 23 июня 2009

Вы можете использовать хеш-ссылку на http://example.com/#sectionOne и читать хеш в своей функции готовности.

2 голосов
/ 23 июня 2009

Как и предполагалось SidneySM , хеш является стандартным способом обработки этого.Это может выглядеть примерно так:

В вашем внешнем js-файле:

var initSectorUI = function(){
  if (location.hash) showSectorMini(location.hash);
};

var showSectorMini = function(sector){
  $('#sectors > div').hide();
  $(sector).show();
};

На других ваших страницах:

$(function(){
  initSectorUI();

  $("#navigator a").click(function(){ 
    showSectorMini($(this).attr('href'));
  });
});

<div id="navigator">
  <a href="#one">One</a>
  <a href="#two">Two</a>
</div>
<div id="sectors">
  <div id="one" style="display:none">A one</div>
  <div id="two" style="display:none">A two</div>
</div>
0 голосов
/ 23 июня 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...