jquery在加载时滑动div活动

时间:2014-03-13 20:44:04

标签: javascript jquery html css

在我的网站上,我有滑动div和导航菜单。我不知道如何设置其中一个div活跃。

我的问题: 如何将链接转到滑动div?例如,一个链接将在网站的某个地方,点击将发送给我滑动div关于。

我再次发布了我所拥有的这个案例。上面的解决方案看起来不起作用,所以我尝试使用更多信息再次清除它。我知道下次。我希望,它的全部。另外一个问题是..为什么溢出:隐藏不起作用。

就在这里:http://jsfiddle.net/strme/ezHGp/1/

HTML

 <a href="javascript:;" id="home"  class="a">twin2</a>
    <a href="javascript:;" id="about" class="a">twin3</a>
    <a href="javascript:;" id="contact" class="a">twin4</a>


<div id="bigbox">
    <div id="home_content" class="contents">
        <div class="mainContent">

           <div class="contentproduct"> 

                <header>
                          <h1>twin2</h1>            
                </header>

           </div>

        </div>
    </div>   

    <div id="about_content" class="contents">   
            <div class="mainContent">

           <div class="contentproduct"> 

                <header>
                          <h1>twin3</h1>            
                </header>

           </div>

        </div>
    </div> 

    <div id="contact_content" class="contents">
        <div class="mainContent">

           <div class="contentproduct"> 

                <header>
                          <h1>twin4</h1>            
                </header>


              </div>
     </div> 
</div>

JS

$(document).on("click", ".a", function(){
    $("#bigbox").removeClass(); /* Remove all classes */
    $("#bigbox").addClass("transition "+this.id+"_inside"); /* add 'transition' for effects and eg. 'home_inside' classes */
});

CSS

body {

    color: #373737;
    font-size: 87.5%; /* Base font size: 14px */
    font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande',       'Lucida Sans', Arial, sans-serif;
    line-height: 1.429;
    margin: 0;
    padding: 0;
    text-align: left;
    }

.body {
    clear: both; 
    margin: 0 auto; 
    width: 1000px;
    background-color: white;
    overflow: hidden;   
    }


.mainContent {
    float: left;
    line-height: 25px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;

}

.contentproduct {
    width: 560px;
    height: 391px;
    float: left;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px; 
    padding: 20px 20px 30px 30px ;

}

#bigbox {
    background-color: grey;
    padding-top: 0px; /* test only */
    margin-left: 150%; /* Start position: right outside */
    -webkit-transition: margin-left 1s;
    -moz-transition: margin-left 1s;
    -o-transition: margin-left 1s;
    transition: margin-left 1s;
}
#bigbox.home_inside {
    margin-left: 0;
}
#bigbox.about_inside {
    margin-left: -100%;
}

#bigbox.contact_inside {
    margin-left: -200%;
}

#bigbox.transition { /* Effects only */
    -webkit-transition: margin-left 1s;
    -moz-transition: margin-left 1s;
    -o-transition: margin-left 1s;
    transition: margin-left 1s;
}

.contents {
    position: absolute;
    width: 1000px;
    margin-right: 0;

    }

#home_content {
    margin-left: 0; /* inside the #bigbox */
    background-color: green;
}
#about_content {
    margin-left: 1000px; /* "relative" position to #home_content */
    background-color: white;

}

#contact_content {
    margin-left: 2000px; /* "relative" position to #home_content */
    background-color: white;

}

2 个答案:

答案 0 :(得分:0)

如果你看一下https://api.jqueryui.com/slide-effect/,你会发现一个很好的例子来说明如何使用幻灯片效果。您应该首先选择正确的选择器,然后使用.toggle()函数! 添加/删除类更适合CSS样式

希望我有所帮助:)

答案 1 :(得分:0)

如果您不熟悉JavaScript,我不推荐使用JQuery。但看起来你知道自己在做什么。您应该将jQuery放在JavaScript文件中或<script>标记之间。您应该使用href属性,而不是使用onclick属性。像这样:

<a href="about:blank" onclick="activate()" id="home" class="a">twin2</a>
<a href="about:blank" onclick="activate()" id="about" class="a">twin3</a>
<a href="about:blank" onclick="activate()" id="contact" class="a">twin4</a>

<script type="text/javascript">
    function activate()
    {
        $("#bigbox").removeClass();
        $("#bigbox").addClass("transition "+this.id+"_inside");
    }
</script>

希望这有帮助!