Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使一条线在导航栏下平稳移动_Javascript_Jquery - Fatal编程技术网

Javascript 使一条线在导航栏下平稳移动

Javascript 使一条线在导航栏下平稳移动,javascript,jquery,Javascript,Jquery,因此,我正在尝试一些网站设计的东西,但我对以下想法有点问题: 所以我试着在导航栏下面画一条小小的.png线。因此,当我点击另一个链接时,它会向它滑动,只要该站点处于活动状态,它就会一直保持在那里,但我在查找代码时遇到了一些问题,甚至我自己也尝试过 如果任何人有一个有用的链接或他们以前写过的代码,我们将不胜感激。试试看, 或者研究scrollTop,滚动div的左边,设置超时,如果你想自己构建它的话 比如说, <html> <head> <style type

因此,我正在尝试一些网站设计的东西,但我对以下想法有点问题:

所以我试着在导航栏下面画一条小小的.png线。因此,当我点击另一个链接时,它会向它滑动,只要该站点处于活动状态,它就会一直保持在那里,但我在查找代码时遇到了一些问题,甚至我自己也尝试过

如果任何人有一个有用的链接或他们以前写过的代码,我们将不胜感激。

试试看, 或者研究scrollTop,滚动div的左边,设置超时,如果你想自己构建它的话

比如说,

<html>
<head>
    <style type="text/css"> 
        .outer {
            display: block;
            width: 100px;
            height: 100px;
            overflow: hidden;
        }
        .inner {
            display: inline-block;
            float: left;
            width: 100px;
            height: 100px;
        }
    </style> 
    <script type="text/javascript">
        var isMoving;
        function moveRight() {
            if (!isMoving) {
                isMoving = true;
                var cnt = document.getElementById('container');
                for (var i = 1;i <= 10;i ++)
                    setTimeout(function () {
                        cnt.scrollLeft += 10;
                        if (cnt.scrollLeft % 100 == 0) isMoving = null;
                    }, 100*i);
            }
        }
        function moveLeft() {
            if (!isMoving) {
                isMoving = true;
                var cnt = document.getElementById('container');
                for (var i = 1;i <= 10;i ++)
                    setTimeout(function () {
                        cnt.scrollLeft -= 10;
                        if (cnt.scrollLeft % 100 == 0) isMoving = null;
                    }, 100*i);
            }
        }
    </script>
</head>
<body>
    <div id="container" class="outer">
        <div style="width: 300px">
            <div class="inner" style="background-color: green;"></div>
            <div class="inner" style="background-color: red;"></div>
            <div class="inner" style="background-color: blue;"></div>
        </div>
    </div>
    <button onclick="moveRight();">move to right</button>
    <button onclick="moveLeft();">move to left</button>
</body>

.外部{
显示:块;
宽度:100px;
高度:100px;
溢出:隐藏;
}
.内部{
显示:内联块;
浮动:左;
宽度:100px;
高度:100px;
}
var isMoving;
函数moveRight(){
如果(!isMoving){
isMoving=真;
var cnt=document.getElementById('container');

对于(var i=1;我欢迎使用StackOverflow——您应该知道,一般来说,我们希望我们的答案要么包含特定的代码片段,要么包含特定的文档。好的,Ben,谢谢,我将在明天尝试,并让您知道它是如何工作的!