1 2 3 4 | $('.selector').mouseout(function() { $('.selector').mouseup(function() { } } |
Een 2e div maken en beide laten verdwijnen als er op Div 2 wordt geklikt.quote:Op zaterdag 17 november 2012 23:45 schreef pascal08 het volgende:
Hoe laat ik style="visibility:visible" veranderen naar style="visibility:hidden" bij het klikken naast de div?
Ik heb nu:
[ code verwijderd ]
Maar dan kan ik 'm alleen laten verdwijnen op het moment dat de muis UIT de div gaat.
npquote:Op zaterdag 17 november 2012 17:02 schreef jochemdejongen het volgende:
[..]
Even wat over gelezen, heel handig! Dankjewel
quote:Op zaterdag 17 november 2012 23:45 schreef pascal08 het volgende:
Hoe laat ik style="visibility:visible" veranderen naar style="visibility:hidden" bij het klikken naast de div?
Ik heb nu:
[ code verwijderd ]
Maar dan kan ik 'm alleen laten verdwijnen op het moment dat de muis UIT de div gaat.
1 | $('body').not('.selector').on('click', function() { }); |
Ik heb de oplossing die Merkie heeft gevonden gebruikt. Bedankt voor het meedenken!quote:Op zondag 18 november 2012 09:17 schreef cablegunmaster het volgende:
[..]
Een 2e div maken en beide laten verdwijnen als er op Div 2 wordt geklikt.
Simpeler kan niet? Desnoods een plaatje in Div 2 maken met een knopje erin
Dit is dus wat ik zocht. Ik heb er dit van gemaakt:quote:Op zondag 18 november 2012 17:58 schreef Merkie het volgende:
[..]
[ code verwijderd ]
Zoiets?
Edit: dit lijkt me beter: http://stackoverflow.com/(...)single-event-handler
1 2 3 4 5 6 7 | $(function() { $("body").click(function(e) { if ($(e.target).parents("#autosuggestcontainer").size() !== 1) { document.getElementById('autosuggestcontainer').style.visibility = 'hidden'; } }); }); |
Zo zou ik dat niet doen. Verdiep je een klein beetje in hoe jQuery werkt .Als je toch al jQuery gebruikt kan je beter $('#autosuggestcontainer').hide(); doen.quote:Op zondag 18 november 2012 18:28 schreef pascal08 het volgende:
[..]
Ik heb de oplossing die Merkie heeft gevonden gebruikt. Bedankt voor het meedenken!
[..]
Dit is dus wat ik zocht. Ik heb er dit van gemaakt:
[ code verwijderd ]
1 2 3 4 5 6 7 | $(document).ready(function() { $("body").click(function(e) { if (e.target.id != 'autosuggestcontainer' || $(e.target).parents('#autosuggestcontainer').size()) { $('#autosuggestcontainer').hide(); } }); }); |
Wat is precies het verschil?quote:Op zondag 18 november 2012 18:44 schreef Merkie het volgende:
[..]
Zo zou ik dat niet doen. Verdiep je een klein beetje in hoe jQuery werkt .Als je toch al jQuery gebruikt kan je beter $('#autosuggestcontainer').hide(); doen.
[ code verwijderd ]
Dit lijkt me beter. Als je toch bezig bent om javascript / jQuery te leren, doe het dan in 1x goed .
1 2 3 4 5 6 7 | $(document).ready(function() { $("body").click(function(e) { if (e.target.id != 'autosuggestcontainer' && $(e.target).parents("#autosuggestcontainer").size() !== 1) { document.getElementById('autosuggestcontainer').style.visibility = 'hidden'; } }); }); |
Waarom zou je native DOM-functies gebruiken als je toch jQuery al include?quote:Op zondag 18 november 2012 18:56 schreef pascal08 het volgende:
[..]
Wat is precies het verschil?
Deze werkt niet, trouwens. "e.target.id" is op sommige plekken buiten #container ook ongelijk aan 'autosuggestcontainer', dus hij doet ook .hide() wanneer het niet moet.
Zo doet 'ie het wel weer. Wat vind je hiervan?
[ code verwijderd ]
Dat kan wel, maar dan moet ik denk ik ook ergens in m'n code iets van "$('#autosuggestcontainer').show();" hebben, anders blijft 'ie in hide-toestand bij de eerste klik buiten de div.quote:Op zondag 18 november 2012 19:22 schreef Merkie het volgende:
document.getElementById('autosuggestcontainer').style.visibility = 'hidden';
Doe gewoon "$('#autosuggestcontainer').hide();", veel sneller .
Ik heb me nog helemaal niet verdiept in javascript en jQuery. Ik zou het eigenlijk wel moeten doen, maar het leren van PHP heeft me ook enkele dagen gekost en ik wil nu zo langzamerhand beginnen met iets op te zetten.quote:Op zondag 18 november 2012 19:29 schreef Tijn het volgende:
[..]
Waarom zou je native DOM-functies gebruiken als je toch jQuery al include?
Hoe maak je nu "visibility:hidden" ongedaan dan?quote:Op zondag 18 november 2012 19:34 schreef pascal08 het volgende:
[..]
Dat kan wel, maar dan moet ik denk ik ook ergens in m'n code iets van "$('#autosuggestcontainer').show();" hebben, anders blijft 'ie in hide-toestand bij de eerste klik buiten de div.
Ahh, nice! Dankzij hele goede video's over PHP, heb ik PHP ook vrij snel geleerd. Ik zal binnenkort eens kijken. Bedankt.quote:Op zondag 18 november 2012 19:41 schreef Tijn het volgende:
Er zijn teveel mensen die maar wat aanklooien met Javascript. Als je echt wilt weten hoe het zit, zou ik als ik jou was beginnen met de videolessen van Douglas Crockford: http://yuiblog.com/crockford/
"visibility:hidden" is standaard bij het laden van de pagina. Als ik iets typ in het zoekveld, dan zorgt deze regel in m'n code ervoor dat er een lijst te voorschijn komt met resultaten:quote:Op zondag 18 november 2012 19:54 schreef Merkie het volgende:
[..]
Hoe maak je nu "visibility:hidden" ongedaan dan?
Anders kan je altijd nog $('#element').css('visibility','hidden'); doen.
1 | document.getElementById("autosuggestcontainer").style.visibility="visible"; |
Stap 1 is iig, stop met klooien, breng structuur aan.quote:Op zondag 18 november 2012 20:27 schreef pascal08 het volgende:
[..]
Ahh, nice! Dankzij hele goede video's over PHP, heb ik PHP ook vrij snel geleerd. Ik zal binnenkort eens kijken. Bedankt.
Dan veranderd je die regel toch in $('#element').show();?quote:Op zondag 18 november 2012 20:29 schreef pascal08 het volgende:
[..]
"visibility:hidden" is standaard bij het laden van de pagina. Als ik iets typ in het zoekveld, dan zorgt deze regel in m'n code ervoor dat er een lijst te voorschijn komt met resultaten:
[ code verwijderd ]
Het zal inderdaad verre van optimaal zijn, maar het werkt.
Ahh, gelukt!quote:Op zondag 18 november 2012 20:44 schreef Merkie het volgende:
[..]
Dan veranderd je die regel toch in $('#element').show();?
1 2 3 4 5 6 7 8 9 10 11 12 13 | $(document).ready(function() { $('.search-query').keyup(function() { var search_term = $(this).attr('value'); if(!search_term) { $('.autosuggestlist').hide(); } else { $('.autosuggestlist').show(); $.post('/web_template/main/search_navbar', {search_term:search_term}, function(data) { $('.result-navbar').html(data); }); } }); }); |
1 2 3 4 5 6 7 | $(document).ready(function() { $("body").click(function(e) { if (e.target.id !== 'autosuggestcontainer' && $(e.target).parents("#autosuggestcontainer").size() !== 1) { $('.autosuggestlist').hide(); } }); }); |
Dat zag ik ook met Chrome: element inspecteren. Bedankt voor jullie tip.quote:Op maandag 19 november 2012 23:46 schreef Merkie het volgende:
Ziet er al een stuk beter uit. Onder water doen .show() en .hide() de "display: none" CSS-property trouwens aan en uit zetten, is wel handig om te weten. Display:none is imho beter dan visibility:hidden, omdat het element bij deze laatste optie nog steeds ruimte inneemt, maar het element zelf onzichtbaar is. Met display:none wordt het element meer genegeerd.
en waar stonden die video's dan?quote:Op zondag 18 november 2012 20:27 schreef pascal08 het volgende:
[..]
Ahh, nice! Dankzij hele goede video's over PHP, heb ik PHP ook vrij snel geleerd. Ik zal binnenkort eens kijken. Bedankt.
dank maar ik doelde op die over php, had deze al gebookmarkedquote:
specifiek kanaal in YouTube? kom er vaak toch zut tegen wat tijdverspilling bleekquote:
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |