这让我很紧张......
我希望点击 .bttn1 时,我的两个菜单列表( <ul id="cont1">
和 <ul id="cont2">
)会移动strong>和 .bttn2 。他们在侧边栏上。其中一个被菜单div隐藏:
文本小部件中的HTML:
<div id="menu">
<div class="bttn1">Pages public</div>
<div class="bttn2">Pages communauté</div>
<div id="cont">
<ul id="cont1">
<li class="n01">01</li>
<li class="n02" id="page9">
<a href="http://www.igorlaszlo.com/test/">
<img src="images/icon1.png" alt="accueil" />
<p>Accueil</p>
</a>
</li>
<li class="n03"></li>
<li class="n04"></li>
<li class="n05" id="page11">
<a href="http://www.igorlaszlo.com/test/register/">
<img src="images/icon2.png" alt="abonnement" />
<p>Inscription</p>
</a>
</li>
...
</ul>
<ul id="cont2">
<li class="n01">10</li>
<li class="n02" id="page23">
<a href="http://www.igorlaszlo.com/test/members/">
<img src="images/icon10.png" alt="communauté" />
<p>Liste Membres</p>
</a>
</li>
<li class="n03"></li>
<li class="n04"></li>
<li class="n05" id="page25">
...
</ul>
</div>
</div>
CSS
#menu {
width: 242px;
letter-spacing: normal;
line-height: normal;
overflow: hidden;
}
#menu .bttn1,
#menu .bttn2 {
position: relative;
display: block;
width: 80%;
height: 30px;
padding: 2%;
line-height: 30px !important;
text-align: center;
cursor: pointer;
color: #fdfdfd;
background: #ce2d32;
-webkit-box-shadow: 0px 1px 7px rgba(0,0,0,0.7);
-moz-box-shadow: 0px 1px 7px rgba(0,0,0,0.7);
box-shadow: 0px 1px 7px rgba(0,0,0,0.7);
-webkit-transition:all .3s ease-in-out;
-moz-transition:all .3s ease-in-out;
-ms-transition:all .3s ease-in-out;
-o-transition:all .3s ease-in-out;
transition:all .3s ease-in-out;
-webkit-transform:rotate(5deg);
-moz-transform:rotate(5deg);
-ms-transform:rotate(5deg);
-o-transform:rotate(5deg);
transform:rotate(5deg);
}
#menu #cont {
position: relative;
display: block;
width: 500px;
height: 550px;
}
#menu #cont1 {top: 0;left: 0;}
#menu #cont2 {top: 0;left: 252px;}
#menu ul {
position: absolute;
width: 242px;
height: 450px;
margin: 0;
list-style: none;
}
我有一个wordpress测试网站,其中包含一个默认的jquery文件。 我将以下代码放在关闭/ body标记之前的footer.php中:
...
<?php wp_footer(); ?>
<script>
$(document).ready(function() {
$('#menu #cont1').css('left',0);
$('#menu #cont2').css('left','252px');
$('#menu .bttn1').click(function(){
$('#menu #cont1').delay(300).animate({'left':'-252px'},800,'easeInOut');
$('#menu #cont2').delay(500).animate({'left':0},800,'easeInOut');
});
$('#menu .bttn2').click(function(){
$('#menu #cont1').delay(500).animate({'left':0},800,'easeInOut');
$('#menu #cont2').delay(300).animate({'left':'252px'},800,'easeInOut');
});
});
</script>
</body>
</html>
它不起作用,我没有发现问题。我试着将代码添加到head.php中,它根本没有移动......
测试网站:http://www.igorlaszlo.com/test/
问题是,上面的代码有什么问题,或者我如何测试是否阻止了脚本?
答案 0 :(得分:1)
解决方案很简单,如果您检查了控制台,就可以看到它。
TypeError: $ is not a function
因此使用$
来使用jQuery jQuery
。
此外,当前加载的jQuery中没有easeInOut
,所以加载jQueryUi
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
最终的javascript代码:
jQuery(document).ready(function() {
jQuery('#menu #cont1').css('left',0);
jQuery('#menu #cont2').css('left','252px');
jQuery('#menu .bttn1').click(function(){
jQuery('#menu #cont1').delay(300).animate({'left':'-252px'},800,'easeInOut');
jQuery('#menu #cont2').delay(500).animate({'left':0},800,'easeInOut');
});
jQuery('#menu .bttn2').click(function(){
jQuery('#menu #cont1').delay(500).animate({'left':0},800,'easeInOut');
jQuery('#menu #cont2').delay(300).animate({'left':'252px'},800,'easeInOut');
});
});
**编辑** 我认为你找到了错误。
答案 1 :(得分:0)