我的问题是下一个,我在jQuery 中有一个动画导航,这是一个绿色滑块,当悬停< li> 标签。
当是当前页面时,高光状态是保持向下,但当我mouseOut它返回到顶部时,这就是自然行为。
我该怎么知道如何告诉jQuery“if”是$ current slide,不要mouseOut
也许你可以查看代码better in the website
我有一个变量。
$ current =当前页面。
jQuery代码:
var navHover = function () {
$("#S" + this.id).animate({top: '-40px'}, 300, 'swing')
$("#A" + this.id).animate({paddingTop: '30px'}, 300, 'swing').animate({paddingTop: '45px'}, 300, 'swing')
$("#I" + this.id).animate({top: '-10px'}, 300, 'swing').animate({top: '0px'}, 300, 'swing')
}
var navRelease = function () {
$("#S" + this.id).animate({top: '-130px'}, 300, 'swing');
}
$('#navInside .topLevel').hover(navHover, navRelease);
修改 好的,我从ircmaxell
那里得到了一些帮助我在标题中的css后面添加了这个,所以我可以正确获取currentPage的值。
<script type="text/javascript">
var currentPage = "<?php echo substr($current, 1) ?>";
</script>
然后将此代码更改为if语句。
var navRelease = function () {
if(this.id != currentPage){
$("#S" + this.id).animate({top: '-130px'}, 300, 'swing');}
};
答案 0 :(得分:2)
您可以通过在JS中设置标志来轻松完成此操作,例如:
var currentPage = "nInicio"
然后在navHover:
var navHover = function () {
if(this.id != currentPage){
$("#S" + this.id).animate({top: '-40px'}, 300, 'swing')
$("#A" + this.id).animate({paddingTop: '30px'}, 300, 'swing').animate({paddingTop: '45px'}, 300, 'swing')
$("#I" + this.id).animate({top: '-10px'}, 300, 'swing').animate({top: '0px'}, 300, 'swing')
}
}
var navRelease = function () {
if(this.id != currentPage){
$("#S" + this.id).animate({top: '-130px'}, 300, 'swing');
}
}
我的代码可能不正确(只是像真正的快速键入psudo)但如果您选择的ID是与页面匹配的ID,它应该禁用任何悬停/释放操作。这样它就会保持“未动画”。
修改强>
由于你在使用它的PHP方面遇到了麻烦:
<script>
var current = "<?php echo substr($current, 1) ?>";
</script>
编辑更多......
好的,您似乎无法添加
<script>
var current = "<?php echo substr($current, 1) ?>";
</script>
在正确的地方。我会把它放到你的主体中,只要它在你打开<body>
时就在主页面上。我希望有所帮助,我开始觉得你正试图破解这不知道任何PHP或JavaScript。
如果你喜欢这个答案,请标记为'回答'(绿色复选标记)谢谢..