1

我正在为网站的移动版本整合一个简化的画布外导航结构。

我已经设法使一切正常,除了当单击按钮以使内容滑入页面时,我的按钮消失了。

我认为这一定是我的 sintax 中的一个简单错误,它同时影响了按钮和 DIv。不确定是什么。这是我到目前为止在 Jfiddle 上的内容:http: //jsfiddle.net/Ginmau/YUgVu/

这是HTML代码:

<body>

     <div class="container">  
    <nav>
        <ul>
            <li>Link 1</li>
            <li>Link 2</li>
            <li>Link 3</li>
        </ul>
    </nav>

    <div class="main_content">
        <header>
            <a class="header-btn-menu">menu</a>
            <h1>ht-design</h1>
            <a class="header-btn-sidebar">sidebar</a>
        </header>

        <section>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi euismod dui non nulla ullamcorper a vulputate turpis bibendum. Praesent interdum tortor sit amet dui pretium facilisis. Quisque sed ante dui, ut vehicula dolor. Mauris ultricies lorem eu diam aliquet nec commodo quam ullamcorper. Nullam diam augue, sollicitudin non laoreet ac, varius non massa. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed viverra porttitor odio, sed fringilla ipsum aliquet ac. Vestibulum congue iaculis justo, blandit porta lectus facilisis ut. Donec in purus metus, non porta est. Quisque et erat turpis. Etiam egestas nisl cursus ante porta pulvinar. Nulla ac purus eget dolor iaculis lobortis.

Vivamus ac lorem non libero dapibus pellentesque id vel dui. Cras imperdiet commodo magna, vel dictum leo commodo sed. Donec pharetra lacus ligula, et condimentum dolor. Aenean condimentum varius tortor, in interdum tortor egestas non. Mauris interdum, metus a pretium imperdiet, sapien odio vestibulum ante, eget eleifend sem felis quis dolor. Etiam congue posuere magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce suscipit neque a tortor tincidunt adipiscing. Suspendisse aliquet dui et nunc ultrices id imperdiet massa aliquam. Donec mi sem, facilisis nec consequat eget, sollicitudin at ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce malesuada tristique leo, a mollis lacus fringilla a.

Curabitur aliquam consequat neque eget ullamcorper. Donec vitae sodales mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nullam molestie aliquet felis in sodales. Ut fringilla elementum metus, non venenatis ipsum consequat quis. Phasellus malesuada ipsum sed ipsum accumsan a laoreet urna vehicula. Nam pulvinar nisl ac eros dictum ornare. Nulla scelerisque tincidunt nulla, quis tempor leo porta non.

Nullam cursus felis in neque faucibus hendrerit. Sed malesuada diam ut urna iaculis et laoreet sem viverra. Integer neque nibh, gravida vel vulputate nec, ultricies eu eros. Vivamus facilisis posuere placerat. Suspendisse congue lacus ac tellus laoreet iaculis. Nulla facilisi. Etiam sed velit ut lacus eleifend condimentum ac et mauris. Donec condimentum elementum nisl id elementum. Aenean imperdiet porta suscipit. Donec a ullamcorper dui. Morbi volutpat, magna quis tristique pretium, risus nisl aliquam sapien, dignissim accumsan erat tortor aliquam mauris. Quisque consectetur sapien et massa egestas bibendum. Phasellus dapibus nisi a lorem posuere interdum. Nam sit amet tortor vel risus mollis tempor at vel lorem. Vestibulum at dignissim risus.

Nulla sed nisi at sem tristique porta a sit amet quam. Morbi porta scelerisque orci sed dignissim. Mauris a felis non ipsum fermentum lacinia sit amet id odio. Sed non dolor ipsum, at molestie purus. Ut diam justo, vulputate ut posuere non, bibendum id lacus. Sed sem sapien, hendrerit non hendrerit eu, mattis vitae velit. Vivamus nec tellus sit amet massa mollis pulvinar id sed lacus. Integer fermentum rutrum dolor, et dapibus neque varius ac. Nulla facilisi.
        </section>

        <footer>
        </footer>
    </div>

    <aside>
        <ul>
            <li>Link 1</li>
            <li>Link 2</li>
            <li>Link 3</li>
        </ul>
    </aside>

CSS:

html, body {
    height:100%;    
}
.container {
    height:100%;
    width:100%;
    position:relative;
    left: 0;
    right:0;
}
.slideright {
    left: 240px;
}
.slideleft {
    right: 240px;
}
.header-btn-menu, .header-btn-sidebar {
    display:none;
}
nav, .main_content, aside {
    height: 100%;
    float:left;
}
nav {
    width: 20%;
    background-color: #09C;
}
.main_content {
    width: 60%;
    position:relative;
}
aside {
    width: 20%;
    background-color: #09C;
}

@media screen and (max-width: 980px) {
    nav {
        position:fixed;
        left:-240px;
        top:0;
        z-index:1000;
        width: 240px;
        height:100%;
    }
    aside {
        width: 25%;
    }
    .main_content {
        width: 75%;
    }
    .header-btn-menu {
        display:block;
    }
    header a {
        width: 100px;
        height: 25px;
        display:block;
        float:left;
    }

}

@media screen and (max-width: 650px) {

    aside {
        position:fixed;
        right:-240px;
        top:0;
        z-index:1000;
        width: 240px;
        height:100%;
    }
    .main_content {
        width: 100%;
    }
    .header-btn-sidebar {
        display:block;
    }
}

最后但同样重要的是,javascript:

$(document).ready(function () {
    $(".header-btn-menu").click(function () {
        $(this).toggle(function() {
            $("nav").animate({left: '0px'}, "slow");
            $(".main_content").animate({left: '240px'}, "slow");
        });

    });

    $(".header-btn-sidebar").click(function () {
        $(this).toggle(function() {
            $("aside").animate({right: '0px'}, "slow");
            $(".main_content").animate({right: '240px'}, "slow");
        });
    });
});
4

2 回答 2

0
$(this).toggle(function() {...

还将按钮放在主要内容之外。

<header>
    <a class="header-btn-menu">menu</a>
    <h1>ht-design</h1>
    <a class="header-btn-sidebar">sidebar</a>
</header>

<div class="main_content">        
    <section>

    </section>
    <footer>
    </footer>
</div>

正在影响按钮,将其取出,它应该可以工作。

$(".header-btn-menu").click(function () {
    $("nav").animate({left: '0px'}, "slow");
    $(".main_content").animate({left: '240px'}, "slow");
});

$(".header-btn-sidebar").click(function () {
    $("aside").animate({right: '0px'}, "slow");
    $(".main_content").animate({right: '240px'}, "slow");
});
于 2013-05-03T10:02:50.027 回答
0

像这样试试

<header>
    <a class="header-btn-menu">menu</a>
    <h1>ht-design</h1>
    <a class="header-btn-sidebar">sidebar</a>
</header>
<div class="main_content">        
    <section>

    </section>
    <footer>
    </footer>
</div>

您正在切换包含您的按钮的 main_content,这就是您的按钮切换的原因....将您的按钮放在切换的 div 之外,然后尝试

于 2013-05-03T10:05:11.523 回答