更改'单击'函数来mouseover/mouseout
Change 'Click' function to mouseover/mouseout
我正在使用以下滑动div脚本:
http://www.webdesignerwall.com/demo/jquery/simple-slide-panel.html
目前,当单击.btn滑动按钮时,滑动切换功能被激活。这向上滑动到"面板"分区。
第二次单击.btn滑动按钮后,面板div将关闭。
我是js的新手,如果有任何帮助,我将不胜感激。以下是我要做的:
1( 当鼠标移到.btn幻灯片类上(而不是单击(时,我希望面板滑出。2( 然后,当鼠标移出.btn幻灯片或#面板时,我希望面板关闭。(但如果鼠标在其中一个上,面板应保持打开状态(。
我能够让它工作到滑动切换函数可以关闭其中一个或另一个,但不能同时关闭两者。
提前感谢您的帮助。
真诚,
Mac
这是JS:
<script type="text/javascript">
jQuery(function($){
$(document).ready(function(){
$('.btn-slide').click(function() {
$("#panel").slideToggle("slow");
$(this).toggleClass("active"); return false;
});
});
});
</script>
here is the HTML currently being used:
<div id="prod_nav_tab">
<div id="panel">
This is where stuff goes!
</div>
<p class="slide"><a class="btn-slide">Table of Contents</a></p>
</div>
我已经玩过CSS来适应我的特定网站,如下所示(原始的js、html、CSS可以从上面的链接中获得(。
div#prod_nav_tab {
width: 200px;
height: 31px;
overflow: hidden;
background-color:#F00;
float: left;
margin: 0px 0px 0px 75px;
}
a:focus {
outline: none;
}
#panel {
background-color:#F00;
width: 200px;
height: 200px;
display: none;
position: absolute;
bottom: 0px;
}
.slide {
margin: 0;
padding: 0;
/* border-top: solid 4px #422410; **Adds a line at top of slide button to distibuish it */
background: url(images/btn-slide.gif) no-repeat center top;
}
.btn-slide {
background: #d8d8d8;
text-align: center;
width: 200px;
height: 31px;
padding: 0px 0px 0 0;
margin: 0 0 0 0;
display: block;
font: bold 12pt Arial, Helvetica, sans-serif;
color: #666;
text-decoration: none;
position: relative;
cursor: pointer;
/* background: url(images/white-arrow.gif) no-repeat right -50px; ** Controls Arrow up/down */
}
.active {
background-position: right 12px;
}
当您从.btn幻灯片移到#面板时,它会隐藏它,因为它会触发.btn滑块的mouseleave事件。
为了防止这种情况,你应该做一些类似的事情:
HTML:
<div id="trigger">
<a href="" class="btn-slide">Slide down</a>
<div id="panel">
Content of your panel
</div>
</div>
JQuery:
jQuery(function($) {
$(document).ready(function() {
$("#trigger").mouseenter(function() {
$("#panel").slideDown("slow");
$(this).addClass("active");
}).mouseleave(function() {
$("#panel").slideUp("slow");
$(this).removeClass("active");
});
});
});
确保在你的CSS中,然后从一开始就将面板设置为隐藏。。。
div#panel {
display: none;
}
相关文章:
- 音频控件在mouseover上显示,在mouseout上淡出
- Gridview ImageButton更改mouseover和mouseout上的图像
- 在mouseover上添加边框,在mouseout上删除边框
- Mouseover和Mouseout的行为没有达到预期
- Fancybox:让它在mouseover/mouseout上工作
- 如何在mouseover上从右向左滑动td,在mouseout上向后滑动
- Mouseover,Mouseout事件未在IE中启动
- Mouseover和mouseout对萤火虫不起作用
- 安装 ng-mouseover 和 ng-mouseout 会导致效率极低的 AngularJS 代码
- Mouseover和Mouseout之间的事件顺序
- 如何在asp.net c#中显示和隐藏mouseover和mouseout事件的标签
- 我想更改图像'的mouseover和mouseout效果取决于调用了哪个函数
- jQuery mouseover hover mouseout移除集合变量
- 听mouseover和mouseout<李>仅限活动?<李>当前触发这两个事件
- 与用于mouseover()和mouseout()(图像交换)的attr混淆
- 在元素中使用mouseover和mouseout会使悬停持续闪烁
- this.nextChild coming up mouseover/mouseout
- highcharts-在mouseover和mouseout上设置线条颜色
- 使用mouseover和mouseout代替:hover
- mouseover、mouseout、click事件处理程序未启动