jquery를 사용하여 간단한 탐색 메뉴를 만들려고합니다. 여기에서 li 중 하나를 가리키면 하위 ul li가 아래로 슬라이드됩니다. slideToggle()을 사용하여 작업 할 수는 있지만 슬라이드가 작동하는 것은 불가능합니다. (나는 클릭으로 디버깅을하고 있었지만 마우스를 가져 가면된다.) 자바 스크립트 :Jquery sliding ul li
<script type="text/javascript">
// Wait for the page and all the DOM to be fully loaded
$(document).ready(function() {
// Add the 'hover' event listener to our drop down class
$(".dropdown").click(function() {
// When the event is triggered, grab the current element 'this' and
// find it's children '.sub_navigation' and display/hide them
//$(this).find('.sub_navigation').slideToggle();
$(this).find(".sub_navigation").show("slide", { direction: "left" }, 1000);
});
});
</script>
CSS
ul {
margin:0;
padding:0;
list-style-type:none;
min-width:200px;
}
ul#navigation {
float:left;
}
ul#navigation li {
float:left;
border:1px black solid;
min-width:200px;
}
ul.sub_navigation {
position:absolute;
display:none;
overflow: hidden;
}
ul.sub_navigation li {
clear:both;
margin-left: 9999px;
float: left;
}
a,a:active,a:visited {
display:block;
padding:10px;
}
목록
<div id="menu">
<ul id="navigation">
<li class="dropdown"><a href="javascript:ajaxpage('home.php', 'body');">Home</a></li>
<li class="dropdown"><a href="javascript:ajaxpage('projects.php', 'body');">Projects</a>
<ul class="sub_navigation">
<!-- pull projects with P H P -->
<?php
require('config/config.php');
//pull all data from projects table
$result = mysql_query("SELECT * FROM projects") or die('Unable to query!');
$num_results = mysql_num_rows($result);
//make sure there is at least 1 project
if ($num_results > 0) {
//loop to catch each project in database
while ($row = mysql_fetch_array($result)) {
//return in list each project name
?>
<li><a href="openproject.php?id=<? echo $row['id']; ?>"><? echo $row['name']; ?></a></li>
<?php
}
} else {
//return to add a project
?>
<li><a href="createproj.php">Add a project</a></li>
<?php
}
?>
</ul>
</li>
<li class="dropdown"><a href="javascript:ajaxpage('pubfiles.php', 'body');">Public Files</a></li>
<li class="dropdown"><a href="javascript:ajaxpage('users.php', 'body');">Users</a></li>
<li class="dropdown"><a href="javascript:ajaxpage('settings.php', 'body');">Settings</a></li>
<!-- only pull if admin and logged in per P H P session-->
<li class="dropdown"><a href="javascript:ajaxpage('admin.php', 'body');">Admin</a></li>
</ul>
</div>
http://docs.jquery.com/UI/Effects/Slide 나는 이것을 근거로 설명했다. – Grant
페이지에 효과 모듈로 빌드 된 jQuery UI js를 포함 시켰습니까? 이는 jQuery UI 효과에만 적용됩니다. 나는 편집을 미쳤다. – rcdmk
jquery.effects.core, effects.slide, ui.core가 포함되어 있습니다. 나는 앞서 가서 애니메이트 대신에 조언을 구했는데 작동하고 있습니다. 목록을 다시 표시하여 막대로 표시되도록하십시오. 위쪽/아래쪽 대신 ul li에 대한 채우기를 만드는 방법에 대한 아이디어가 있습니까? jquery를 처음 사용하기 때문에 슬라이드를 사용하려면 js를 포함시켜야합니까? – Grant