Javascript 单击“将两个类添加到不同的元素”

Javascript 单击“将两个类添加到不同的元素”,javascript,Javascript,我正在建造一个在左侧有垂直导航,在右侧有内容的建筑,其中导航的宽度为20%,内容为80% 我想单击(切换div的,在nav内部)将nav的宽度更改为5%,内容宽度更改为95% 我知道如何将类添加到正在单击的元素,但我必须知道如何影响其他元素。 任何帮助都将不胜感激 <div class="nav"> <div class="toggle"> <img src="images/toggle.png"/>

我正在建造一个在左侧有垂直导航,在右侧有内容的建筑,其中导航的宽度为20%,内容为80%

我想单击(切换div的,在nav内部)将nav的宽度更改为5%,内容宽度更改为95%

我知道如何将类添加到正在单击的元素,但我必须知道如何影响其他元素。 任何帮助都将不胜感激

<div class="nav">
            <div class="toggle">
                <img src="images/toggle.png"/>
            </div>
            <ul>
                <li class="header"><p>Szymon Fraczyk<br>photography</p></li>
                <li class="szymon"><a href="index.html"><p>Szymon Fraczyk</p></a></li>
                <li class="zdjecia"><a href="index.html"><p>Zdjecia</p></a></li>
                <li class="slubne"><a href="index.html"><p>Slubne</p></a></li>
                <li class="chrzciny"><a href="index.html"><p>Chrzciny</p></a></li>
                <li class="kontakt"><a href="index.html"><p>Kontakt</p></a></li>
                <li class="kontakt"></li>
            </ul>
        </div>
        <div class="content">
            <div class="royalSlider rsDefault">
                <img class="rsImg" src="images/1.jpg" alt="image desc" />
                <img class="rsImg" src="images/2.jpg" alt="image desc" />
                <img class="rsImg" src="images/3.jpg" alt="image desc" />
                <img class="rsImg" src="images/4.jpg" alt="image desc" />
                <img class="rsImg" src="images/5.jpg" alt="image desc" />
                <img class="rsImg" src="images/6.jpg" alt="image desc" />
                <img class="rsImg" src="images/7.jpg" alt="image desc" />
            </div>  
        </div>
    </div>

  • Szymon Fraczyk
    摄影


您可以使用动画和JQuery执行您想要的操作:

您的代码:

我给你一些不错的动画效果:)

css:

.nav {
    position:absolute;
    top:0px;
    left:0px;
    width:20%;
    background-color:#ccc;
}

.content {
    position:absolute;
    top:0px;
    right:0px;
    width:80%;
    background-color:#aaa;
}
javascript

$('.content').click(function(){
    $(this).animate({'width':'80%'}) ;
    $('.nav').animate({'width':'20%'}) ;
}) ;

$('.nav').click(function(){
    $(this).animate({'width':'5%'}) ;
    $('.content').animate({'width':'95%'}) ;
}) ;

您可以使用动画和JQuery执行您想要的操作:

您的代码:

我给你一些不错的动画效果:)

css:

.nav {
    position:absolute;
    top:0px;
    left:0px;
    width:20%;
    background-color:#ccc;
}

.content {
    position:absolute;
    top:0px;
    right:0px;
    width:80%;
    background-color:#aaa;
}
javascript

$('.content').click(function(){
    $(this).animate({'width':'80%'}) ;
    $('.nav').animate({'width':'20%'}) ;
}) ;

$('.nav').click(function(){
    $(this).animate({'width':'5%'}) ;
    $('.content').animate({'width':'95%'}) ;
}) ;

查看页面,如果您向content div添加了一个id,那么您将能够

var d = document.getElementById('content');
d.className = d.className + "wideClass";
否则,您将不得不循环遍历所有div,并找到类为“content”的div。与此答案类似:


无论采用哪种方式,一旦选择元素,就可以附加类,使宽度达到您想要的95%。

查看页面,如果您在内容div中添加一个id,那么您将能够

var d = document.getElementById('content');
d.className = d.className + "wideClass";
否则,您将不得不循环遍历所有div,并找到类为“content”的div。与此答案类似:


无论哪种方式,一旦选择了元素,就可以附加将使宽度达到95%的类。

它们都有唯一的id吗?你能给我们看看你试过的html/代码吗?它们每个都有一个类:.nav和.contentcheck querySelector,它们可能会给你一个线索,但记住ie8+它们都有唯一的id吗?你能给我们看一下你尝试过的html/代码吗?它们每个都有一个类:.nav和.contentcheck querySelector,它们可能会给你一个线索,但是记住它的ie8+如果你想要相反的效果,你可以反转大小;)对于动画来说,这比剧烈的转变要好。我做了一个快速的转变,因为我们没有。这只是为了表示喜爱。如果你愿意的话,你可以用float来做。我会投票给你,因为你试图提供帮助,这很酷,但如果人们没有要求,建议他们使用jquery不是一个好主意。我同意,但动画可以证明这一点。但是一个简单的
document.getByClassName(..).width=…
whith
onclick=“…”
也可以完成这项工作。如果想要相反的效果,可以反转大小;)对于动画来说,这比剧烈的转变要好。我做了一个快速的转变,因为我们没有。这只是为了表示喜爱。如果你愿意的话,你可以用float来做。我会投票给你,因为你试图提供帮助,这很酷,但如果人们没有要求,建议他们使用jquery不是一个好主意。我同意,但动画可以证明这一点。但是一个简单的
document.getByClassName(..).width=…
whith
onclick=“…”
也可以完成这项工作。