2013-06-17 6 views
0

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

<td colspan="2" style="padding:5px 0 10px 5px;"> 
    <a class="Option" id="option1" onclick="func1();">1</a> 
    <a class="Option" id="option2" onclick="func2();">2</a> 
    <a class="Option" id="option3" onclick="func3();">3</a> 
</td> 

, кажется, что-то вроде:

enter image description here

, когда пользователи проходят между 1,2,3, Свода изменяется на тело приставки (с помощью функции javascript).

Я хочу, чтобы каждая функция (func1, func2 и func3) будет знать, если пользователь пришел от одной из функций: func1/func2/func3, или нет. (возможно, предупреждение: «да» или «нет»).

p.s. пользователь может прийти к этим функциям из другой страницы ..

, например,

В образе я прилагается, если пользователь нажимает 2, я хочу, чтобы в func2, я буду знать, что он был в 1, прежде чем он пришел к 2.

Любая помощь оценена!

+3

имеет переменную 'prev', которые могли бы следить за то, что была предыдущая вкладка ... и всякий раз, когда вы меняете вкладки просто изменить' prev' после вас» вы сделали то, что хотели. – pandavenger

+2

Материал, касающийся пользователей, поступающих из функций и поступающих в функции с других страниц, не имеет смысла. – Pointy

+0

посмотрите пожалуйста мой пример .. большое спасибо! –

ответ

1

Проверить это

<html> 
    <head> 
     <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script> 
     <style type="text/css"> 
      a{border:1px solid red;cursor:pointer;} 
     </style> 
    </head> 
    <body> 
     <table> 
      <tr> 
       <td> 
        <a class="Option" id="option1">1</a> 
        <a class="Option" id="option2">2</a> 
        <a class="Option" id="option3">3</a> 
       </td> 
      </tr> 
     </table> 
     <div id="result">teste</div> 
     <script type="text/javascript">//<![CDATA[ 

      var previous = 'None'; 
      $(document).ready(function() { 

       $('.Option').click(function(e) { 
        $('#result').html(previous); 
        previous = $(this).prop("id"); 
        e.preventdefault; 
       }); 
      }); 
      //]]> 

     </script> 
    </body> 
</html> 

DEMO

1

Некоторое время назад я нашел этот метод, чтобы получить имя функции

<a class="Option" id="option1" onclick="func1(1);">1</a> 

<script type="text/javascript"> 
function func1() { 
    var functionName = arguments.callee.toString().match(/function ([^\(]+)/)[1] 
    alert(functionName); 
} 
</script> 

оповещения «FUNC1».

Но это ненадежное. Насколько я знаю, нет стандартного способа получить имя функции.

0

в pandavenger и deepi сказал, что я спас глобальную переменную: "came_from", и в конце каждого функций (func1, func2 и FUNC3), я инициализировать его: 1,2,3 ..

var came_from = 0; 

func1() { 
    if (came_from != 2 && came_from != 3) { do something } 
    ..... 
    came_from = 1; 
} 

func2() { 
    ..... 
    came_from = 2; 
} 

func3() { 
    ..... 
    came_from = 3; 
} 

спасибо вам всем!

Смежные вопросы