Search code examples
jqueryclickaddclassremoveclass

addClass() then removeClass() on click (jquery)


.I'm trying to make some gallery. Want to use addClass to show image and then click on same place to remove this new class I googled for help, but after hour of trying to get it work normally, i'm asking you for help. I found here solution for reversed option (first remove and add)

Code:

<html>
 <script type="text/javascript" src="http://www.s-ola.me/js/jquery.js"></script>
 <script type="text/javascript" src="http://www.s-ola.me/js/jquery.nailthumb.1.1.min.js"></script>
<style>

#window {
width:              570px;
height:             455px;
position:           relative;
background-color:   grey;
padding:            20px;
margin:             0 auto;
top:                50%;
margin-top:         -225px;
}

.image {
display:    inline-block;
margin:     5px;
}

 #wrapper {
width:              568px;
height:             455px;
position:           absolute;
}

.close {
display:    none;
}
.big_image{
width:      100%;
display:    block;
}
</style>
<body>

<div id="window">
<div id="wrapper">
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
    <img class="image" src="http://www.livethelesson.com/wp-content/uploads/2012/01/snow.jpg" />
</div>
</div>

<script>

$(document).ready(function(){
$('.image').nailthumb({containerClass:'image',height:100, width:100, fitDirection:'center', proportions:0.5, maxShrink:0.5});
})

$(document).ready(function(){

$('img').click(function(){
    $('.image').toggleClass('close');
    $('#wrapper').append('<img src="'+this.src+'" class="big_image" />');
})

})
$(document).ready(function(){
$('.big_image').click(function(){
    if($('.big_image')) {$('.big_image').remove(); $('.image').toggleClass('close'); }
})

})

</script>
</body>
</html>

Please let me know where i mistaken.

Thanks again. Alexei alexela.biz


Updated


Solution

  • Finally made it Here is my solution:

    $(document).ready(function(){
    $('img.image, img.big_image').live('click', function(){
        if (!$('.big_image').length) {
            $('.image').addClass('close');
            $('#wrapper').append('<img class="big_image" src="'+this.src+'" />');
        }
        else
        {
            $('.image').removeClass('close');
            $('.big_image').remove();
        }
    })
    })
    

    hope it will help