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)

Aetae 22.01.2011 14:14

ondblclick?

monolithed 22.01.2011 15:15

x-yuri, я сознательно добавил слово "почти", потому как в последнее время мне очень часто приходится с ней работать и натыкаться на баги. С ходу могу сказать, что новый метод fadeToggle() даже в IE8 работает с глюками (если используется PNG-24 в некоторых случаях заливает альфаканал черным цветом), toggleSlide() - работает рывками. Если интересно, то у них есть bugtracker http://bugs.jquery.com/report (можно в timeline заглянуть)

PS: разубедите меня, что это вижу только я один o_O

Цитата:

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

извиняюсь, мне показалось, что к код Metre был на jQuery...:-?

timyrio, я же вам нагладно показал первом сообщении как действовать (что же, пример грубой силы):
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
    var $i=$j=0;
    $('#object1, #object2').click(function() {
        if(this.id == 'object1') {
            $i++%2 ? $(this).slideUp("slow") : $j=0;
        }
        else {
            $j++%2 ? $(this).slideUp("slow") : $i=0;
        }
        return false;
    });
});
</script>
  
<a href="#" id="object1">Объект №1</a><br />
<a href="#" id="object2">Объект №2</a>

упрощенная запись ;) :
this.id == 'object1' ? $i++%2 ? $(this).slideUp("slow") : $j=0 : $j++%2 ? $(this).slideUp("slow") : $i=0;

x-yuri 22.01.2011 15:29

Цитата:

Сообщение от Aetae
ondblclick?

нет, еще шаровакуумнее :)

monolithed, я видел баги прямо у них на сайте (в демках), так что не надо меня убеждать. Просто твоя фраза про кроссбраузерность была ни к чему

а вообще про jQuery... они ж по сути поставили перед собой задачу создать свой язык, а не дополнить и улучшить. Ну вот и разгребают последствия :)

x-yuri 22.01.2011 15:35

PS: разубедите меня, что это вижу только я один :)

monolithed 22.01.2011 16:23

Цитата:

Сообщение от x-yuri
я видел баги прямо у них на сайте (в демках)

еще на главной были, когда там toggleSlide() использовался....
Цитата:

Сообщение от x-yuri
а вообще про jQuery... они ж по сути поставили перед собой задачу создать свой язык, а не дополнить и улучшить

пруф? тогда я их возненавижу :D
Цитата:

Сообщение от x-yuri
PS: разубедите меня, что это вижу только я один

поравил, спс.
просто Safari 5.0 гадит (модольное окно, которое появляется для добавлении ссылки - не является модальным, и можно прям через него кликать мышью ;) )

x-yuri 22.01.2011 17:03

Цитата:

Сообщение от monolithed
пруф? тогда я их возненавижу

может я немного преувеличил, но они явно претендуют на что-то большее: jQuery is designed to change the way that you write JavaScript.

и в дополнение некоторые задачи решаются лучше не на уровне библиотеки (по-крайней мере не так, как в jQuery), например, показ элементов. У них там есть кусок, решающий, какой бы display поставить элементу, методом вставки нового такого же элемента в страницу. К тому же оно все равно может неправильный результат выдать

timyrio 22.01.2011 20:03

1. Как обратится ко всем переменным в скрипте + исключить одну из них?

2. Как обратится ко всем переменным в скрипте, например имя которых начинается с "counter"?

Переменные к которым нужно обратится, без перечисления каждой:
counter1
counter2
counter3
counter4
counter5
и т.д.

x-yuri 22.01.2011 20:22

шаровакуумные вопросы продолжаются...

2) использовать массивы

Андрей38 01.05.2011 20:31

Цитата:

Сообщение от monolithed (Сообщение 89144)
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>

Спасибо и от меня тоже...
По Квери вопрос - просьба
Подскажите уважаемые гуру , как переделать этот скрипт чтоб при достижении опр. количества кликов ,заморозить счет кликов /типа анбинд/ , так как скрипт начинает считать сначала при достижении заданного числа в count ++ % 2 ?

var count=1
$('img').live('click',function () {
count ++ % 2 ? }
$('.dv ').addClass ('dfg'):
$('.dv ').addClass ('dfg2')

)}

monolithed 01.05.2011 21:58

Цитата:

Сообщение от Андрей38
типа анбинд

вы сами ответили на свой вопрос.

if(i >= 3) {
    $(this).unbind(event);
}


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