私のウェブサイトには、スティッキーなドロップダウンメニューがあります。ページがすでに読み込まれている(スクロールしていない)とき、またはユーザーページのスクロール後にすべてがOKです - メニューがドロップダウンしています。ユーザーがページの先頭に戻るとメニューがドロップされない
$(document).ready(function(){
$('li').hover(function(){
$(this).find('ul>li').stop().slideToggle(250);
});
});
$(function() {
var stickyHeaderTop = $('#navigationwrap').offset().top;
$(window).scroll(function() {
if ($(window).scrollTop() > stickyHeaderTop) {
$('#navigationwrap').css({
position: 'fixed',
top: '0px'
});
$('#contentwrap').css('margin-top', $('#navigationwrap').outerHeight(true) + parseInt($('#headerwrap').css('marginBottom')));
} else {
$('#navigationwrap').css({
position: 'static',
top: '0px'
});
$('#contentwrap').css('margin-top', '0px');
}
});
});
body {
font-family: 'Roboto Condensed', sans-serif;
font-size: 18px;
color: #333;
}
p {
padding: 10px;
}
#navigation ul {
\t margin: 0;
\t padding: 0;
\t width: auto;
\t list-style-type: none;
\t text-align: center;
\t display: inline-block;
}
#navigation {
\t text-align: center;
}
#navigation ul li {
\t float: left;
\t font-weight: bold;
\t font-size: 20px;
\t line-height: 40px;
\t text-align: center;
\t text-shadow: 1px 1px 1px #000;
\t width: 140px;
}
#navigation ul li:hover {
\t background: #9D9FA4;
\t border-radius: 10px;
}
ul li a {
\t text-decoration: none;
\t color: #FFFFFF;
}
ul li li {
\t background: #3F61A9;
\t color: #fff;
\t display: none;
}
ul li li:hover {
\t background: #9D9FA4;
}
ul li li a{
\t text-decoration: none;
\t color: #fff;
}
#wrapper {
margin: 0 auto;
width: 1000px;
}
#headerwrap {
width: 1000px;
float: left;
margin: 0 auto;
\t position: relative;
}
#header {
height: 125px;
background: #000000;
border-radius: 10px;
border: 1px solid #000000;
margin: 5px;
\t position: relative;
}
#navigationwrap {
width: 1000px;
float: left;
margin: 0 auto;
\t position: relative;
}
#navigation {
height: 40px;
background: #52bf6e;
border-radius: 10px;
border: 1px solid #3ea858;
margin: 5px;
}
#contentwrap {
width: 700px;
float: left;
margin: 0 auto;
}
#content {
background: #FFFFFF;
border-radius: 10px;
margin: 5px;
}
#leftcolumnwrap {
width: 150px;
float: left;
margin: 0 auto;
}
#leftcolumn {
border-radius: 10px;
margin: 5px;
}
#rightcolumnwrap {
width: 150px;
float: left;
margin: 0 auto;
}
#rightcolumn {
border-radius: 10px;
margin: 5px;
}
#footerwrap {
width: 1000px;
float: left;
margin: 0 auto;
clear: both;
}
#footer {
height: 40px;
background: #9D9FA4;
border-radius: 10px;
border: 1px solid #888a91;
margin: 5px;
\t background-color: #9D9FA4;
\t text-align: center;
\t color: #FFFFFF;
\t font-weight: bold;
}
#navigationwrap_placeholder {
display:none;
\t height: 40px;
}
<!DOCTYPE html>
<html>
<head>
\t <meta charset="utf-8">
\t <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<div id="wrapper">
<div id="headerwrap">
<div id="header">
</div>
</div>
<div id="navigationwrap">
<div id="navigation">
\t \t \t <ul>
\t \t \t <li><a href="">main menu</a></li>
\t \t \t <li><a>test</a>
\t \t \t <ul class="sub-menu">
\t \t \t \t <li><a href="">test1</a></li>
\t \t \t \t <li><a href="">test2</a></li>
\t \t \t \t <li><a href="">test3</a></li>
\t \t \t \t <li><a href="">test4</a></li>
\t \t \t </ul>
\t \t \t </li>
\t \t \t </ul>
</div>
</div>
\t \t <div id="navigationwrap_placeholder"></div>
<div id="leftcolumnwrap">
<div id="leftcolumn">
<p></p>
</div>
</div>
<div id="contentwrap">
<div id="content">
\t \t \t <br><br>
<p>Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna. Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. </p>
\t \t \t <p>Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi. Integer lacinia sollicitudin massa. Cras metus. Sed aliquet risus a tortor. Integer id quam. </p>
\t \t \t <br><br>
\t \t </div>
</div>
<div id="rightcolumnwrap">
<div id="rightcolumn">
<p></p>
</div>
</div>
<div id="footerwrap">
<div id="footer">
</div>
</div>
</div>
</body>
</html>
、ユーザーがページの先頭に戻る来るとき問題があります。その後、メニューはドロップダウンしていません。私は2つのJSスクリプトを持っています。 1つはメニューをドロップダウンすることを許可し、もう1つはユーザがスクロールした後にメニューがページの先頭にスティックされるようにする。
CSSから#contentと#contentwrapを削除すると、メニューがドロップダウンしても、テキストの後ろに表示されることがわかりました。しかし、私はそれを削除したくないです。
また、「テスト」というul> li>にカーソルを合わせると、少し右に移動します。私はそれを取り除きたいと思う。
メニューが表示されている場所に関係なく、メニューが正しく機能するように、追加または削除する必要があるものは何ですか。ありがとう!
どうもありがとう!それは動作します..誰かがドロップダウン要素の上にマウスを置いたときにテキストの移動を停止する方法を知っていれば、それは素晴らしいだろう..また、画面の下部に表示されるように私のフッターのためのソリューションを探して十分なコンテンツがないとき.. – pingwin850