Kezdőoldal » Számítástechnika » Programozás » Hogyan tudom jqueryben ellenőr...

Hogyan tudom jqueryben ellenőrizni egy elem láthatóságát?

Figyelt kérdés

Van egy második szintű listapontom egy menüben (ul li ul li). Azt akarom megcsinálni, hogyha le akarom nyitni a menüt, akkor csak az ul li div-vel lehessen, a div egy üres div csak azért van ott, hogy másik ul li-vel ne lehessen a menüt lenyitni, csak azzal. A slide down működik, de az up nem. Tehát azt akarom, hogyha el van tűnve a második szintű menüpont, akkor csak az ul li div-vel lehessen lenyitni, ha viszont elő van bújva, akkor bárhova kattintok, becsukódjon.

Ehhez viszont az kell, hogy ellenőrizzem, hogy előbújt-e a menüpont, avagy sem.

Köszi a segítséget előre is!


$(document).ready(function() {

if ($('ul li ul li').is(":hidden")){

$("ul li div").click(function() {

$("ul li ul li").slideDown();

});

}

else {

$("body").click(function() {

$("ul li ul li").slideUp();

});

}

});



2016. aug. 31. 22:55
 1/8 anonim ***** válasza:
display propertyvel mi a helyzet? (netán egy flag?)
2016. aug. 31. 23:30
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

"display propertyvel mi a helyzet? (netán egy flag?)"


Őszintén nem tudom. Most ez válasz volt?

2016. aug. 31. 23:41
 3/8 Drone007 ***** válasza:

Igen, válasz volt, bár nem túl disztingvált. Erre gondolt:


if ($('ul li ul li').css("display") != "none"){...

2016. szept. 1. 06:53
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Köszönöm Drone007, remélem működni fog.
2016. szept. 1. 09:58
 5/8 A kérdező kommentje:
Ez nem megy. :D
2016. szept. 1. 10:32
 6/8 A kérdező kommentje:

Most ez a kód, de így se működik:


<script>

$(document).ready(function()

if ($('ul li ul li').css("display") == "none") {

$("ul li div").click(function() {

$("ul li ul li").slideDown();

});

}

else {

$("ul li li").click(function() {

$("ul li ul li").slideUp();

});

}

});

</script>


Én nem látok benne szintaktikai hibát, ti igen?



Ez a css kód:

<style>

ul {

list-style-type: none;

margin: 0;

padding: 0;



}

ul li {


float:left;

margin:2px;

width:60px;

height:40px;

background-color:grey;


}

ul li:hover {

background-color:red;

}

ul li a {

text-decoration: none;

}

ul li ul li {

margin:0px;

display:none;

}


</style>

2016. szept. 1. 10:41
 7/8 A kérdező kommentje:

Hopp, valami lemaradt! Egy ilyen: {

$(document).ready(function() {

if ($('ul li ul li').css("display") == "none") {

$("ul li div").click(function() {

$("ul li ul li").slideDown();

});

}

else {

$("ul li li").click(function() {

$("ul li ul li").slideUp();

});

}

});

2016. szept. 1. 10:53
 8/8 A kérdező kommentje:

Tényleg nem megy... A slideDown-ig eljut. Utána nem tudja értelmezni az else-t, pedig nekem logikusnak tűnik, hogy működjön.


$(document).ready(function() {

if ($('ul li ul li').css("display") == "none") {

$("ul li div").click(function() {

$("ul li ul li").slideDown();

});


}

else {

$("body").click(function() {

$("ul li ul li").slideUp();

});

}

});

2016. szept. 1. 11:42

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!