小编Hyd*_*les的帖子

jQuery动画问题点击 - 需要两次+错误的效果

所以我试图制作一个导航栏,当你点击一个按钮/跨度时,会出现一个div,从顶部到导航栏正下方.但是,当我点击'荷马'时,首先没有任何反应,但第二次点击,然后它出现另一个效果,我没有在任何地方使用.[我不知道效果的名字,但div显示在它自己的左上角.]

这就是我想要的事情:

当我点击导航栏中的"荷马"时,一个div从身体到身体.div必须在导航栏下移动到0px,因此导航栏的底部和div(hidden-homer)的顶部之间没有空格.当我再次点击荷马时,div(hidden-homer)必须再次离开屏幕,因此向上移动.

在JSFiddle中,它根本不起作用......

  • Firefox控制台中没有错误,1警告:" 不推荐使用getPreventDefault().请改用defaultPrevented. "
  • JSHint中没有错误(JSFiddle)

那2个问题:

  • 当我点击'荷马'时,没有任何反应.
  • 当我在'荷马'上第二次点击时 - 没有重新加载页面 - 在错误的位置(导航栏下面,因此你看不到它的一部分),div出现错误的效果.

HTML:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="main.css">
    <script src="jquery.js"></script>
    <title></title>
    <meta charset="UTF-8">
</head>

<body>

    <div id="nav">
        <span>Homer</span>
        <span>Marge</span>
        <span>Bart</span>
        <span>Lisa</span>       
        <span>Maggie</span>
    </div>

    <div id="hidden-homer" class="hidden">
        <h1>Homer</h1>
        <p>Text</p>
    </div>

        <div id="hidden-marge" class="hidden">
        <h1>Marge</h1>
        <p>Text</p>
    </div>

    <div id="hidden-bart" class="hidden">
        <h1>Bart</h1>
        <p>Text</p>
    </div>

        <div id="hidden-lisa" class="hidden">
        <h1>Lisa</h1>
        <p>Text</p>
    </div>

    <div id="hidden-maggie" class="hidden">
        <h1>Maggie</h1>
        <p>Text</p>
    </div>

    <div id="intro">
    <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/The_Simpsons_Logo.svg/300px-The_Simpsons_Logo.svg.png">  
    </div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

    <script>
    var main = …
Run Code Online (Sandbox Code Playgroud)

html css jquery navigationbar jquery-animate

5
推荐指数
1
解决办法
224
查看次数

为什么我必须检查长度=== 0才能重新启动幻灯片?

我正在关注Codecademy"制作互动网站"课程.我没有错误,但我对我不理解的东西有一个疑问:在幻灯片中使用if语句的东西.

if (nextSlide.length === 0) {
            nextSlide = $('.slide').first();
            nextDot = $('.dot').first();
        };
Run Code Online (Sandbox Code Playgroud)

这个if语句适用于最后一张幻灯片之后它将转到第一张幻灯片.为什么nextSlide.length === 0

jQuery的:

var main = function() {
    $('.dropdown-toggle').click(function() {
        $('.dropdown-menu').toggle();
    });
    $('.arrow-next').click(function() {
        var currentSlide = $('.active-slide');
        var nextSlide = currentSlide.next();

        var currentDot = $('.active-dot');
        var nextDot = currentDot.next();

        if (nextSlide.length === 0) {
            nextSlide = $('.slide').first();
            nextDot = $('.dot').first();
        };

        currentSlide.fadeOut(600).removeClass('active-slide');
        nextSlide.fadeIn(600).addClass('active-slide');

        currentDot.removeClass('active-dot');
        nextDot.addClass('active-dot');
    });
};

$(document).ready(main);
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery css3

4
推荐指数
1
解决办法
1405
查看次数

如何让导航栏(以及其他东西)在右边结束

所以我的导航栏出了问题.我把它的宽度设置为100%.但我希望看到结束,因为它有圆角......

所以这样:| (=======)|

不像现在这样:| (========== |

    #nav {

      height: 60px;

      font-size: 30px;

      line-height: 60px;

      vertical-align: middle;

      text-align: center;

      background-color: #0080FF;

      width: 100%;

      border: 10px solid #16044E;

      border-radius: 20px;

      z-index: 1;

    }

    #nav ul {} #nav li {

      display: inline;

      text-align: center;

      margin: 20px;

    }

    #nav a {

      color: white;

      text-decoration: none;

    }
Run Code Online (Sandbox Code Playgroud)
<ul id="nav">
  <li><a href="">Home</a>
  </li>
  <li><a href="">Courses</a>
  </li>
  <li><a href="">Subjects</a>
  </li>
  <li><a href="">Sign Up</a>
  </li>
  <li><a href="">Log In</a>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

html css nav navigationbar

3
推荐指数
1
解决办法
52
查看次数

标签 统计

css ×3

html ×3

jquery ×2

navigationbar ×2

css3 ×1

javascript ×1

jquery-animate ×1

nav ×1