Click Функция с дефаулт?

novakabg

Registered
Добър ден имате ли идея как при този метод се прави дефаулт?


Код:
 $(document).ready(function() {
    $(".dropbtn").click(function() {
        $('#trash').slideDown();
      default;
      $('#trash').slideUp();
    });
 
Дали с

Код:
}
   
   else
 
  {

Ще стане , тоест добавя се клас и когато вече натиснеш някъде където не е тази функция примерно в body , да се изпълни други параметри.


Код:
    $("#normal").slideDown();
}
   
   else
 
  { 

	
    $("#normalt").slideUp();
 
Хах пак не обясняваш и си мислиш, че може да гадаем. ;д 100 пъти ти казах, ако искаш помощ обяснявай добре, сега и колегите ти го казаха ;д

Относно кода, всичко може, за това време, в което написа последният си отговор можеше да провериш в интернет за готов код и да го ползваш.

Мисля, че @Fakeheal ти беше споменала да го направиш с toggle(); :shock:

Ето как ще стане:
[js]$(".dropbtn").on("click tap touchend", function () {
$('#trash').slideToggle(); // толкод @ ,
return false ; // ДА НЕ СЕ ИЗЗПЪЛНЯВА ДЕЙСТВИЕТО ПО ПОДРАЗБИРАНЕ!
});[/js]

може и само с toggle, провери сам да видиш резултата и да прежениш кое те кефи, и почни да го учиш това jquery, за да ти е по-лесен живота :D :idea: :?:
 
Проблема е там че искам три бутона да скриват и да показват един div елемент и когато се натисне outside да се скриват този контейнер :)
Пробвах с toggle и много методи....
 
Няма да питам, за какво ти е това, но един пример, ако дадеш ще е много добре. В повечето случаи (всички), това което обясняваш или не е достатъчно или не е това, което е. (ако това ти е трудно да го разбереш, представи си ние как те разбираме хах :D )

Нещо такова ?
[js]$(document).on('click', function () {
$("#DIVAT_KOITO_DA_SE_SKRIE").fadeOut();
});[/js]

или
[js]$("#DIVAT_KOITO_DA_SE_SKRIE").blur(function () {
$(this).fadeOut();
});[/js]

С две думи, подхода ти е грешен. Просто кажи какво искаш да направиш (ГОЛЯМАТА КАРТИНКА) - някакъв попъп/модал/лайтбокс или какво се опитваш да направиш ? Защо просто не сложиш един "X" или някакъв друг вид бутон за затваряне и да си решиш проблема ? Няма как да ти предложим практичен и работещ вариант, ако не знаем какво ТРЯБВА да стане - сигурно за 50-ти път ти го казвам ;d Никой няма да ти открадне идеята или нещо такова, всичко вече е измислено, особено нещо с JS, повечето тук, са го правили по 20 пъти - дано разбра :D :?:

ЕДИТ: пробвай ейтаз магия: http://codepen.io/anon/pen/pEkpzv :idea: :D
 
Разбирам те приятел просто имам аномалия виж какво сглобих :)

http://jsfiddle.net/5yko29g2/

Аномалията братленце е че първият бутон отговаря веднага на първо кликване но другите два ми се налага по два пъти да ги натискам.

Били ми помогнал и да ми дадеш съвет от къде идва проблема на тази аномалия!?
 
хаха няма нужда да слагаш всеки бутон в document.ready, веднъж е достатъчно. Тъй като се повтаря, може да направиш кода на функция. Бтв, при мен ТВОЯ вариант, работи.
- Може ти като го тестваш, да имаш АД Блокер(макар че и аз имам и работи)
- Може да имаш, друг код, който пречи на документа да зареди или да прави конфликт
- Може да ти е бавен браузъра и да не чакаш да зареди и да пробваш, а то чака да получи респонс от браузъра, че е готов хтмл-а.

Пробвам така: http://jsfiddle.net/5yko29g2/1/
И така: http://jsfiddle.net/5yko29g2/2/
Ако вторият вариант стане, значи е последната точка ;д

Едит: БТВ, ако вкарваш с AJAX ЕЛЕМЕНТИ и ползваш .click - НОРМАЛНО ДА НЕ СТАНЕ ;д (НЕ случайно ти дадох примрния код в предният пост с .on(..) ;) )
Филма е, че :
1. Имаш някакъв хтмл + бутоните ти:
HTML:
html
sadasd
sdasd
..
BUTTON1 BBUTTON2 BUTTON3

2. НЯКЪДЕ зареждаш ajax тоя елемент или + бутоните, НЕ ЗНАМ - защото го пазиш в тайна. и съответно кода си работи, но за него, когато документа зареди, тези елементи не съшествуват. Ако ползваш .on('click') - ще сработи, преди имаше едно .live(..) - ако искаш потърси и за него. Ама предполагам, че това е проблема. Ако е това брат, ще черпиш - няма майтап :D :D
 
Съветите са ти доста добри , проблема е че аз ми се иска да се затваря

Код:
<div id="table">
  Cont
</div>

Като се натисне отстрани тоест outside.

http://jsfiddle.net/t0akcq4y/


Кода не ми е тайна просто мъчя методи , това е просто едни кутиики.

Аз се мъчя да направя следното: Само при натискане да има еффект show и когато кликна някъде на страни да се затварят.

Ползвах кода :

Код:
$('body').click(function() {
   ('#table').hide();
});

Проблема е че дори когато цъкна на някой от бутоните се изпълнява горната функция и се крият... чудя се как мога да изулирам или някакъв друг метод :)
 
Затова ти казах, сложи едно X-че за затваряне, нищо не губиш, така най-лесно ще решиш проблема :) :?: :D
 
Това не е практичен начин, сложи го 5-6 пъти в сайта си и като го пуснеш в production ще видиш за какво става въпрос.

Има един начин, магия, с която да го направиш. НО трябва да изброиш всеки елемент, който като се цъкне ДА НЕ афектира елемент, който искаш да се скрива. Което е доста тъпо, но като не слушаш батко си(МЕНЕ ;д) - оправяй се ;д

$("*").not("#e") - това значи -> КОЕТО и нещо да съ цъкне, но да не е елемента в .not() или елементите, да скрива ПРИМЕРНО даден обект.

И за бога, ползвай Element.on('click', ..), а не стандартното .click, 5 примера ти дадох с .on('click', ..) и ти пак си държиш на .click :/ Ама ще се научиш и ще започнеш да слушаш батко си :D :D

Ето ти 2 варианта за пробване. Аз пробвах с втория, ама и двата ще свършат работа :)
Тва ти е функцията: http://api.jquery.com/not/ и http://api.jquery.com/attribute-not-equal-selector/

Ето ти магията : http://codepen.io/anon/pen/kkjqRa :?: :D

Бтв, ще видиш един бъг с тоя начин, рано или късно ;д
 
joTunkiq каза:
$("*").not("#e") - това значи -> КОЕТО и нещо да съ цъкне, но да не е елемента в .not() или елементите, да скрива ПРИМЕРНО даден обект.
В css-a това го пишеха като непрепоръчително - в големи страници да селекввш всичко (*) е неефективно.
Този проблем доколкото си спомням се оправяше точно с това .on(), нещо като:

[js]$(document).on('click', ':not(....)', function() {
...
});[/js]

Като разбира се няма нужда да го прилагаш за целия document, a само за конкретен елемент.


И за бога, ползвай Element.on('click', ..), а не стандартното .click, 5 примера ти дадох с .on('click', ..) и ти пак си държиш на .click :/ Ама ще се научиш и ще започнеш да слушаш батко си Very Happy Very Happy
A това защо? Ако го ползваш за един елемент (примерно id) изглежда няма проблем:
http://stackoverflow.com/a/11878976
 
anonimen каза:
joTunkiq каза:
$("*").not("#e") - това значи -> КОЕТО и нещо да съ цъкне, но да не е елемента в .not() или елементите, да скрива ПРИМЕРНО даден обект.
В css-a това го пишеха като непрепоръчително - в големи страници да селекввш всичко (*) е неефективно.
Този проблем доколкото си спомням се оправяше точно с това .on(), нещо като:

[js]$(document).on('click', ':not(....)', function() {
...
});[/js]

Като разбира се няма нужда да го прилагаш за целия document, a само за конкретен елемент.


И за бога, ползвай Element.on('click', ..), а не стандартното .click, 5 примера ти дадох с .on('click', ..) и ти пак си държиш на .click :/ Ама ще се научиш и ще започнеш да слушаш батко си Very Happy Very Happy
A това защо? Ако го ползваш за един елемент (примерно id) изглежда няма проблем:
http://stackoverflow.com/a/11878976

Вече споменах, защо е по-добре да се ползва on('click') в место .click в предишен коментар. Също така споменах и,че е доста тъп този метод със * (Just sayin'), просто реших да не давам обяснение, защото той и без това не ги чете и го ооставих да пробва и да види кви бъгове и т.н. ще излезенат и другият път ще чете :Д :idea: :?:
 
Да мислиш за бързина на селекторите в модерните браузъри е като да се чудиш дали да използваш " или '
 
lam3r4370 каза:
Да мислиш за бързина на селекторите в модерните браузъри е като да се чудиш дали да използваш " или '
Може би си прав. Едно време бях чел, че не е добра практика.

http://stackoverflow.com/a/1714258/
 
Не гледай браузъра, машината отзаде и тя е важна. Само като се сетиш, че има хора, които ползват само IE 9, че дори и 8 и са някакви биснесмени и повечето имат някакви слаби лаптопчета и компютри и като им зарежда 1 минута сайта, в който има 20 картинки, 50 заявки от ДБ .. и тоз велик селектор .. върви им обяснявай защо другите сайтове не се бавят толкова и т.н. Мисля, че може да се сетиш за още примери. Да, трябва да се мигрира, но не е лошо да си мисли малко, а не просто да хакаш * за селектор и да се надяваш, че щом твоята машина е с 16ГБ рам и всичко върви и на клиента ще е толкова :) Just sayin' :) :D
 

Горе