为什么我的文档中没有溢出?

时间:2017-10-26 19:59:39

标签: javascript html5 css3 overflow vertical-scrolling

我的问题......
由于某些原因,我使用css overflow: auto制作的滚轮停止工作,为什么会这样?滚轮是必要的,因为这是一个长边杆,它应该有一个自己的滚轮

注意:我删除了很多li和ul,以便我可以发布问题

正如你在我的代码中看到的那样,有很多重复的ul和li。是否有更简单的方法来编写所有这些?

我的代码......

<body>
    <div id="mainBar" class="mainBarOthers">
        <ul>
            <a href="EverythingPrg.html">
                <li class="theTitle">
                    Home Page
                </li>
            </a>
        </ul>
        <ul class="ulHighlight">
            <a href="Added Arrays.html" >
                <li>
                    Added Arrays 
                </li>
            </a>
        </ul>
        <ul>
            <a href="AddOrMinus.html">
                <li>
                    AddOrMinus
                </li>
            </a>
        </ul>
        <ul>
            <a href="ArayOnlyNumbers.html">
                <li>
                    ArayOnlyNumbers
                </li>
            </a>
        </ul>
        <ul>
            <a href="Array Drawing.html">
                <li>
                    Array Drawing
                </li>
            </a>
        </ul>
        <ul>
            <a href="Array Squared.html">
                <li>
                    Array Squared
                </li>
            </a>
        </ul>

我的CSS ...

.mainBarOthers {width: 18%; border-right: 2px solid black; background-color: #feffdd; float: left; overflow: auto; box-shadow: 0px 1px 10px black; -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -khtml-user-select: none; /* Konqueror HTML */-moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */}

我的JavaScript ......

window.onload = function () {
    setInterval (function () {
        height = Math.max(document.body.scrollHeight, document.documentElement.clientHeight);

        if (height != heightCheck) {
            height = Math.max(document.body.scrollHeight, document.documentElement.clientHeight);
            height = height - 52;
            heightCheck = height;
            document.getElementById ('mainBar').style.cssText = 'height:' + height;}
    }, 10); // This makes the main bar be the size of the page (can this slow the page down? Better way of doing it...)
}

1 个答案:

答案 0 :(得分:0)

回答......

var height;
var heightOthers;
var heightCheck;
var heightCheckOthers;

window.onload = function () {
    setInterval (function () {
        height = Math.max(document.body.scrollHeight, document.documentElement.clientHeight);
        heightOthers = Math.max (document.body.scrollHeight, document.documentElement.clientHeight);

            $(function () {
                if ($('#mainBarOthers').length) {
                    if (heightOthers != heightCheckOthers) {
                    heightOthers = Math.max(document.body.scrollHeight, document.documentElement.clientHeight);
                    heightCheckOthers = heightOthers;
                    document.getElementById ('mainBarOthers').style.cssText = 'height:' + heightOthers;
                    }
                }
                else if ($('#mainBar').length) {
                    if (height != heightCheck) {
                    height = Math.max (document.body.scrollHeight, document.documentElement.clientHeight);
                    height = height - 52;
                    heightCheck = height;
                    document.getElementById ('mainBar').style.cssText = 'height:' + height;
                }
            }
        }); 
    }, 10); // This makes the main bar be the size of the page (can this slow the page down? Better way of doing it...)
}

问题是我有两个不同的页面,而且id是相同的,所以他们互相写了。解决方法是简单地为其他第二页的高度设置相同的功能。