Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jQuery: событие по второму подрят клику (https://javascript.ru/forum/misc/14583-jquery-sobytie-po-vtoromu-podryat-kliku.html)

timyrio 22.01.2011 02:59

jQuery: событие по второму подрят клику
 
Пользуюсб быблиотекой жаба скриптов jQuery.

Помогите, пожалуйста, решить задачу: эфект .slideUp() должен исполнятся после второго подрят нажатия на объект, причем событие даблклик не подходит, допустим юзер кликает по объекту №1, а потом по объекту №2, потом опять по №1 и снова по объекту №1 и только после второго подрят клика на объект №1 событие .slideUp() исполняется. Как это сделать в jQuery.

Gvozd 22.01.2011 03:07

Цитата:

Сообщение от timyrio
жаба скриптов jQuery.

ошиблись форумом

Gvozd 22.01.2011 03:08

Цитата:

Сообщение от timyrio
Пользуюсб быблиотекой

для начала вам сюда:
http://www.gramota.ru/

x-yuri 22.01.2011 04:44

а потом надо объяснить, зачем обрабатывать именно второй клик

Matre 22.01.2011 07:54

var last = null;
document.onclick = function (event) {
	event = event || window.event;
	var target = event.target || event.srcElement;
	if (target == last) {
		ваша функцыя
	}
	last = target;
};

timyrio 22.01.2011 11:46

сенкс Matre, но немного не то, наверное я плохо объяснил.

в коде который Вы дали:
- событие происходит после третего клика;
- после первого клика на объект - щет кликов обнуляется если кликнуть вне объекта, но после двох подрят кликов - не обнуляется;

А нужно, чтобы событие возникало при клику на объект два разы подрят, даблклик не подходит, и при клику вне объекта, допустим на другой объект, подщет кликов обнулялся.

Например: кликаем на объект №1, потом на №2, потом на объект №1 и опять на №1 - и по второму клику (не даблклик) на объект №1 событие исполняется, тоесть когда кликнули первый раз на №1, потом на №2, то щет кликов по первому объекту обнуляются.

Помогите в этом.

Kolyaj 22.01.2011 12:07

Цитата:

Сообщение от Gvozd
для начала вам сюда:
http://www.gramota.ru/

Вот же http://therules.ru/
Заодно хороший пример того, как надо делать сайты.

monolithed 22.01.2011 12:19

Matre, на всякий))
jQuery почти кроссбраузерная библиотека, поэтому ваш код можно сократить до 3-х строчек.

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(function(){
    var $i = 0;
    $('a').click(function(){
        $('body').toggleClass($i++ % 2 && 'body');
        return false;
    });
});
</script>

<style type="text/css">
.body {background:red;}
</style>

<a href="#">click</a>

x-yuri 22.01.2011 13:08

Цитата:

Сообщение от monolithed
почти кроссбраузерная библиотека

:lol:

Цитата:

Сообщение от monolithed
код можно сократить до 3-х строчек

ну вот, в тему ворвались обфускаторы... сейчас еще решатель шаровакуумных задач подтянется :)

timyrio 22.01.2011 13:34

Помогите в следующем:

Есть код:

<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>

<script type="text/javascript">
   $(document).ready(function(){

      $("a#object1").click(function(){
         $(this).slideUp("slow");
         return false;
      });

      $("a#object2").click(function(){
         $(this).slideUp("slow");
         return false;
      });

   });
</script>
  
<a href="#" id="object1">Объект №1</a>
<br>
<a href="#" id="object2">Объект №2</a>

НО, нужно чтоб эфект .slideUp() исполнялся после двох подряд кликов по объекту, причем если кликнуть один раз по "Объекту №1", а потом по "Объекту №2", то щет кликов по "Объекту №1" обнулялся.


Часовой пояс GMT +3, время: 04:51.