Search code examples
jqueryslidetoggleslidedownslideupright-to-left

jquery appearing nav from the left


I'm working on an website where I want an navigation that is coming from the left when the cursor is hovering to the left.

I found 1 link that looks very close to what I want but every time I try it for myself it doesn't work! I tried everything I know and looked closely if I copied every line on the page.

This is the link: http://jsfiddle.net/PktxV/

And this is the code:

HTML

<div id="sidePanel">
<div id="panelContent">
    <iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FWebsTutorial&amp;width=200&amp;height=258&amp;colorscheme=light&amp;show_faces=true&amp;border_color&amp;stream=false&amp;header=false&amp;appId=253401284678598"
    scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:258px;"
    allowTransparency="true"></iframe>
</div>
<div id="panelHandle">
    <p>Facebook</p>
</div>

CSS

    /* ===== Primary Styles ========================================================
   Author: NTechi | WebsTutorial
   ========================================================================== */
 body {
    font-family:Arial;
}
#sidePanel {
    width:245px;
    position:fixed;
    left:-202px;
    top:15%;
}
#panelHandle {
    background-image: -webkit-linear-gradient(top, #333, #222);
    background-image: -moz-linear-gradient(center top, #333333, #222222);
    background-image: -o-linear-gradient(center top, #333333, #222222);
    background-image: -ms-linear-gradient(center top, #333333, #222222);
    background-image:linear-gradient(center top, #333333, #222222);
    height:150px;
    width:40px;
    border-radius:0 5px 5px 0;
    float:left;
    cursor:pointer;
}
#panelContent {
    float:left;
    border:1px solid #333333;
    width:200px;
    height:300px;
    background-color:#EEEEEE;
}
#panelHandle p {
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    color: #FFFFFF;
    font-size: 24px;
    font-weight: bold;
    left: -4px;
    margin: 0;
    padding: 0;
    position: relative;
    top: 26px;
}

jQuery

    jQuery(function ($) {
    $(document).ready(function () {
        $('#panelHandle').hover(function () {
            $('#sidePanel').stop(true, false).animate({
                'left': '0px'
            }, 900);
        }, function () {
            jQuery.noConflict();
        });

        jQuery('#sidePanel').hover(function () {
            // Do nothing
        }, function () {

            jQuery.noConflict();
            jQuery('#sidePanel').animate({
                left: '-201px'
            }, 800);

        });
    });
});

Does anyone know if this is an older version or something or that it has trouble with an HTML5 page (what I'm trying to make) and maybe can get me a link of an newer/beter slider?

EDIT!!

This is how i have it in an HTML5 document

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style>
/* ===== Primary Styles ========================================================
   Author: NTechi | WebsTutorial
   ========================================================================== */
 body {
    font-family:Arial;
}
#sidePanel {
    width:245px;
    position:fixed;
    left:-202px;
    top:15%;
}
#panelHandle {
    background-image: -webkit-linear-gradient(top, #333, #222);
    background-image: -moz-linear-gradient(center top, #333333, #222222);
    background-image: -o-linear-gradient(center top, #333333, #222222);
    background-image: -ms-linear-gradient(center top, #333333, #222222);
    background-image:linear-gradient(center top, #333333, #222222);
    height:150px;
    width:40px;
    border-radius:0 5px 5px 0;
    float:left;
    cursor:pointer;
}
#panelContent {
    float:left;
    border:1px solid #333333;
    width:200px;
    height:300px;
    background-color:#EEEEEE;
}
#panelHandle p {
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    color: #FFFFFF;
    font-size: 24px;
    font-weight: bold;
    left: -4px;
    margin: 0;
    padding: 0;
    position: relative;
    top: 26px;
}
</style>

</head>

<body>
<script src="text/javascript">
$(document).ready(function () {
    $('#sidePanel').hover(function () {
        $(this).stop(true, false).animate({
            'left': '0px'
        }, 900);
    }, function () {
        $(this).stop(true, false).animate({
            'left': '-202px'
        }, 900);
    });
});
</script>
<div id="sidePanel">
    <div id="panelContent">
        <iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FWebsTutorial&amp;width=200&amp;height=258&amp;colorscheme=light&amp;show_faces=true&amp;border_color&amp;stream=false&amp;header=false&amp;appId=253401284678598"
        scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:258px;"
        allowTransparency="true"></iframe>
    </div>
    <div id="panelHandle">
        <p>Facebook</p>
    </div>
</div>
</body>
</html>

Solution

  • Try this and see the DEMO:

    $(document).ready(function () {
        $('#sidePanel').hover(function () {
            $(this).stop(true, false).animate({
                'left': '0px'
            }, 900);
        }, function () {
            $(this).stop(true, false).animate({
                'left': '-202px'
            }, 900);
        });
    });
    

    EDIT:

    Change all of your page with HTML to this:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <style>
    /* ===== Primary Styles ========================================================
       Author: NTechi | WebsTutorial
       ========================================================================== */
     body {
        font-family:Arial;
    }
    #sidePanel {
        width:245px;
        position:fixed;
        left:-202px;
        top:15%;
    }
    #panelHandle {
        background-image: -webkit-linear-gradient(top, #333, #222);
        background-image: -moz-linear-gradient(center top, #333333, #222222);
        background-image: -o-linear-gradient(center top, #333333, #222222);
        background-image: -ms-linear-gradient(center top, #333333, #222222);
        background-image:linear-gradient(center top, #333333, #222222);
        height:150px;
        width:40px;
        border-radius:0 5px 5px 0;
        float:left;
        cursor:pointer;
    }
    #panelContent {
        float:left;
        border:1px solid #333333;
        width:200px;
        height:300px;
        background-color:#EEEEEE;
    }
    #panelHandle p {
        -moz-transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        color: #FFFFFF;
        font-size: 24px;
        font-weight: bold;
        left: -4px;
        margin: 0;
        padding: 0;
        position: relative;
        top: 26px;
    }
    </style>
    
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    
    <script>
    
    $(document).ready(function () {
        $('#sidePanel').hover(function () {
            $(this).stop(true, false).animate({
                'left': '0px'
            }, 900);
        }, function () {
            $(this).stop(true, false).animate({
                'left': '-202px'
            }, 900);
        });
    });
    
    </script>
    
    </head>
    
    
    <body>
    <div id="sidePanel">
        <div id="panelContent">
            <iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FWebsTutorial&amp;width=200&amp;height=258&amp;colorscheme=light&amp;show_faces=true&amp;border_color&amp;stream=false&amp;header=false&amp;appId=253401284678598"
            scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:258px;"
            allowTransparency="true"></iframe>
        </div>
        <div id="panelHandle">
            <p>Facebook</p>
        </div>
    </div>
    </body>
    </html>