JAVASCRIPT/JQuery如何在一次以上的时间内执行
JAVASCRIPT / JQuery How execute onmouveover 1 time
当鼠标悬停在li元素上时,我试图显示一个弹出窗口。
我的弹出窗口有一个动画(随着淡出而可见,向上,然后向下)
问题是,当鼠标在li上时,我的弹出窗口的动画似乎处于无休止的循环中。
我得到了很多li元素,我做了一个过程给它们自动的ID,在"for"循环中传递它们。
我的代码重要编辑抱歉
echo"<li id='".$li_id_name.$li_id."' onmouseover='showpopup(this)'>";
echo"<div id='".$li_id_name.$li_id."detail'>SOME TEXT</div>";
echo"</li>";
Javascript/jQuery
function showpopup(obj) {
d3.select('#'+$(obj).attr('id')+"detail").transition().duration(100).style('opacity','1').each('end', function() {
d3.select('#'+$(obj).attr('id')+"detail").transition().duration(100).style('margin-top','-300px').each('end', function() {
d3.select('#'+$(obj).attr('id')+"detail").transition().duration(500).style('margin-top','-250px');
});
});
}
对不起,我在代码中犯了一个错误,事实上,弹出窗口是li元素中的一个div
只使用mouseenter而不是mouseover
htmlLI1 LI2 LI3 js
$('.assignenter').mouseenter(function(){
//What to do..
});
试试这个http://jsfiddle.net/V3xw8/
像这样尝试
HTML:
<ul>
<li class="assignenter">LI1</li>
<li class="assignenter">LI2</li>
<li class="assignenter">LI3</li>
</ul>
CSS:
.assignenter{
display:block;
padding:20px;
background:green;
color:#fff;
}
jQuery/JS
$("li.assignenter").on( "mouseenter", function() {
$(this).css({
"background-color": "red",
"font-weight": "bolder"
});
}).on( "mouseleave", function() {
var styles = {
backgroundColor : "green",
fontWeight: ""
};
$(this).css( styles );
});
希望这将解决您的问题
相关文章:
- 如何在设定的时间间隔内一次只显示一个图像
- 完整日历:如何支持一次点击和不长时间点击
- 一段时间后调用函数,但只调用一次
- 视频.JS - 一次在确切时间触发多个事件
- 为什么将 ng-select 替换为自定义指令会导致$http请求不会每隔一段时间发送一次
- 如果通过 ajax 调用 PHP 页面需要一段时间才能运行/返回(并且它设置了会话变量),则第二次 ajax 调用会看到
- 在页面加载时禁用 CSS 动画,但每隔一段时间工作一次
- 使用Rails在页面上以实时刻度的格式显示当前时间,并每秒更改一次
- html5视频的时间更新事件多久触发一次
- JAVASCRIPT/JQuery如何在一次以上的时间内执行
- Bootstrap DateTimePicker:一次打开一个日期时间选取器
- 如何在浏览器中使用F12控制台在javascript中每隔一段时间执行一次
- 不要做不止一次,要做一段时间,但不要做
- 如何使setInterval在一段时间后或多次操作后停止
- 在RxJS中,对一段时间内的事件进行计数,并每秒产生一次总和
- 创建一个每秒钟更新一次的日期和时间函数
- setInterval在显示服务器时间期间每秒钟减慢一次
- 每10秒更新一次的时间轴
- GSAP:一次管理多个渐变和时间线
- 使用setInterval()每30秒更新一次时间戳