Wat is het verschil?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jop B

Jop B

06/11/2015 12:44:16
Quote Anchor link
Hallo,

Wat is het verschil in JQUERY dat de eerste code wel werkt en de tweede niet:
(Het enigste verschil is de append functie)

Werkende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
HTML:
<div class="help">Help</div>
<div class="help_popup" id="help_popup">
<div class="help_close" id="help_close"></div>
</div>
<div class="overlay"></div>

CSS:
overlay{
    z-index:4;
    display:none;
    background-color:#333333;
    opacity:0.7;
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
}

.help_popup{
    position:absolute;
    display:none;
    top:50%;
    left:50%;
    margin-top:-200px;
    margin-left:-150px;
    z-index:6;
    width:300px;
    height:400px;
    background-color:#FFFFFF;
    -webkit-box-shadow: rgba(0, 0, 0, 0.498039) 0px 10px 25px;
    box-shadow: rgba(0, 0, 0, 0.498039) 0px 10px 25px;
    border-radius: 4px;
}

.help_close{
    width:10px;
    height:10px;
    display:block;
    border:1px solid #CCC;
}

JQUERY:
$(document).ready(function(){
          help();
          });

function help(){
$('.help').click(function(){
$('.overlay').fadeIn(500, function(){
    $('#help_popup').fadeIn(300);
    });
});

$('#help_close').click(function(){
$('#help_popup').fadeOut();
});

}


Niet werkende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
HTML:
<div class="help">Help</div>
<div class="help_popup" id="help_popup">
<div class="help_close" id="help_close"></div>
</div>
<div class="overlay"></div>

CSS:
overlay{
    z-index:4;
    display:none;
    background-color:#333333;
    opacity:0.7;
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
}

.help_popup{
    position:absolute;
    display:none;
    top:50%;
    left:50%;
    margin-top:-200px;
    margin-left:-150px;
    z-index:6;
    width:300px;
    height:400px;
    background-color:#FFFFFF;
    -webkit-box-shadow: rgba(0, 0, 0, 0.498039) 0px 10px 25px;
    box-shadow: rgba(0, 0, 0, 0.498039) 0px 10px 25px;
    border-radius: 4px;
}

.help_close{
    width:10px;
    height:10px;
    display:block;
    border:1px solid #CCC;
}

JQUERY:
$(document).ready(function(){
          help();
          });

function help(){
var overlay = '<div class="overlay"></div>';
var popup ='<div class="help_popup" id="help_popup"><div class="help_close" id="help_close"></div></div>';
$('.help').click(function(){
$('body').append(overlay);
$('body').append(popup);
$('.overlay').fadeIn(500, function(){
    $('#help_popup').fadeIn(300);
    });
});

$('#help_close').click(function(){
$('#help_popup').fadeOut();
});

}





Gr. Jop
Gewijzigd op 06/11/2015 12:45:33 door Jop B
 
PHP hulp

PHP hulp

20/04/2024 13:54:54
 
DavY -

DavY -

06/11/2015 13:31:44
Quote Anchor link
Ik zie het verschil niet. Hij pakt beide op of je moet wat anders bedoelen.

Edit: Dit is je tweede code: http://codepen.io/anon/pen/NGLVoV
Gewijzigd op 06/11/2015 13:32:16 door DavY -
 
Jop B

Jop B

06/11/2015 14:01:24
Quote Anchor link
Dank voor de reactie.

Inderdaad hier werkt de code wel. Op JSFIDDLEen op mijn site werk de code niet.
Dat snap ik eerlijk gezegd niet.

de eerste functie, het tonen van de popup werkt wel maar de sluit functie niet.
Gewijzigd op 06/11/2015 14:02:56 door Jop B
 
Ivo P

Ivo P

06/11/2015 14:34:11
Quote Anchor link
in situatie 2 heb je 2 divs met class="overlay"

en na de append heb je ook meerdere elementen met hetzelfde id (help_popup)

De close actie zit alleen op het element met id help_close dat al bestond op het moment dat je op regel 60 komt.

Die close-functie moet dan van jou een element met id=help_popup out-faden.

welke? Geen idee of het de bestaande pakt of de toegevoegde, of dat javascript zegt: ik weet niet welke dus ik doe beide niet?

Probeer het eens zonder de vaste elementen in je html.

en op regel 60 :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$(document).on('click', '#help_close', function(){
   $('#help_popup').fadeOut();
});
 
DavY -

DavY -

06/11/2015 16:43:45
Quote Anchor link
Ivo heeft zo te zien het al voor je opgelost. Voorbeeld kun je hier zien: http://jsfiddle.net/DavYBlaat/wr6p7u2e/4/
 
Jop B

Jop B

06/11/2015 18:30:15
Quote Anchor link
deze werkt inderdaad.
Ik zie nu dat ik in de voorbeeld code 2 ook deze zelfde html heb getypt waar dus eigenlijk alleen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div class="help">Help</div>

had moeten staan in de topic.

In jullie voorbeeld gebruiken jullie het onderstaande:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$(document).on('click', '#help_close', function(){
        $('#help_popup').fadeOut( function(){
            $('.overlay').fadeOut();
        });
    });


Maar dan zou toch een gewone click(function() ook moeten werken?

hier mijn Fiddle
 
DavY -

DavY -

06/11/2015 19:01:52
 
Yoeri Achterbergen

Yoeri Achterbergen

06/11/2015 20:33:02
Quote Anchor link
@Ivo,


Waarom gebruik je nou dan document?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$(document).on('click', '#help_close', function(){
        $('#help_popup').fadeOut( function(){
            $('.overlay').fadeOut();
        });
    });


en niet ''help_popup''

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$('#help_popup').on('click', '#help_close', function(){
        $('#help_popup').fadeOut( function(){
            $('.overlay').fadeOut();
        });
    });


Edit: want het element #help_close zit toch in #help_popup?
Gewijzigd op 07/11/2015 12:59:06 door Yoeri Achterbergen
 
Ivo P

Ivo P

07/11/2015 19:31:20
Quote Anchor link
omdat op het moment dat ik dat definee die #help_popup mogelijk nog niet bestaat.

Maar zou in dit geval mogelijk niet uitmaken
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.