滑动div导航

时间:2013-06-12 16:41:42

标签: jquery html css animation sliding

我正在使用左侧链接和右侧内容区域的网站。我想让它像使用这个站点的jquery一样滑入和滑出:http://www.templatemonster.com/demo/44960.html

这是我目前的代码(可以让jFiddle工作吗?)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<style>
body { 
        /**background-image: url(../img/bg.jpg) no-repeat center center fixed;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
        **/
        background-color: red; 
        background-image: url(img/bg.jpg);
        font-family:Arial, Helvetica, sans-serif;
        height: 100%; margin: 0; width: 100%;
}
html,body { height:100%; }
#left {
    position: relative;
    margin: 0 5px 0 0;
    overflow: hidden;
    float: left;
    width: 220px;
    background-image: url(img/panel_bg.png);
    background-repeat: repeat-y;
    height: 100%;
}
#right {
    position: relative;
    float: left;
    margin: 0 5px 0 0;
    width: 630px;
    height: 100%;
    overflow: hidden;
}

div.panel {
    position: absolute;
    float: left;
    height: 100%;
    width: 620px;
    margin-left: 10px;
    background-image: url(img/content_bg.png);
    background-repeat: repeat-y;
    display: none;
}
</style>
<script type="text/Javascript">
jQuery(function($) {

    $('a.panel').click(function() {
        var $target = $($(this).attr('href')),
            $other = $target.siblings('.active');

        if (!$target.hasClass('active')) {
            $other.each(function(index, self) {
                var $this = $(this);
                $this.removeClass('active').animate({
                    left: $this.width()
                }, 500);
                $($target).hide();
            });

            $target.addClass('active').show().css({
                left: -($target.width())
            }).animate({
                left: 0
            }, 500);

        }
    });

});
</script>
</head>

<body>
<div id="left">
    <a href="#target1" class="panel">Target 1</a><br/>
    <a href="#target2" class="panel">Target 2</a><br/>
    <a href="#target3" class="panel">Target 3</a><br/>
</div>

<div id="right">
    <div class="panel" id="target1">Target 1</div>
    <div class="panel" id="target2">Target 2</div>
    <div class="panel" id="target3">Target 3</div>
</div>
</body>
</html>

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

我通过一些CSS更改实现了它的功能。我刚刚在菜单上使用了position:fixed,在滑动区域使用了position:absolute。我更改了幻灯片上的背景颜色以确保它正常工作。我没碰到你的jQuery。 http://jsfiddle.net/T7LzN/2/

答案 1 :(得分:0)

我有updated your code来让内容滑入和滑出。因为我没有背景图片,所以我改变了一些样式,使其在jsfiddle中看起来更清晰。

我将你的jQuery变量更改为在开始时不使用$(个人偏好),否则它是相同的。我删除了链接上的“面板”类,并更改了在左右div上设置浮动的方式。

 <a href="#target1">Target 1</a><br/>