鼠标输入和追加不能正常工作
mouseenter and append not work good
我需要当mouseenter
当前div追加一些文本到div中,但有时不工作,有时显示,有时没有这里是fiddle的例子
$(document).ready(function() {
var thmb_wrap = $('.thm-img');
var thumb = $('.thm-img img');
var outer = $('.mn-img');
var full = $('.mn-img img').length;
var sc_height = $(outer).height();
thmb_wrap.one('mouseenter', function() {
var cur_im = $('.thm-img img').index($(this).children('img')) + 1;
$(this).append('<span class="numeric">' + cur_im + '/' + (full) + '</span>');
});
thmb_wrap.on('mouseenter', function() {
$(this).children('.numeric').stop().fadeIn(0);
});
thmb_wrap.on('mouseout', function() {
$('.numeric').stop().fadeOut(0);
});
$(thumb).mouseenter(function() {
var images = $('.thm-img img'); // get images
// move mouseover onto actual images otherwise you won't know which one is being moused over
images.on('mouseenter', function() {
var nm = images.index($(this));
outer.stop().animate({
scrollTop: (sc_height * nm) + "px"
}, 0);
});
});
});
.det-sl-wrp {
display: block;
width: 100%;
height: 480px;
background: #848f99;
border: 1px solid #fff;
margin: 8px 0 8px 0;
}
.mn-img {
position: relative;
width: 650px;
height: 100%;
background: red;
float: left;
overflow-y: hidden;
overflow-x: hidden;
}
.thumb-wrp {
float: left;
width: 145px;
overflow-y: auto;
height: 100%;
margin: 0 0 0 8px;
}
.mn-img img {
float: left;
width: 100%;
height: 100%;
}
.sl-lft,
.sl-rgh {
top: 0;
right: 0;
position: absolute;
width: 50%;
height: 100%;
background: rgba(0, 0, 0, 0);
}
.sl-rgh {
left: 0;
}
.thm-img {
position: relative;
width: 100%;
display: block;
height: 100px;
margin: 2px 0 2px 0;
box-sizing: border-box;
transition: border 0.3s, left 0.3s;
border: 1px solid #fff;
}
.thm-img:hover {
border: 1px solid #E78211;
}
.thm-img img {
width: 100%;
height: 100%;
}
.numeric {
display: none;
position: absolute;
left: 49px;
bottom: -1px;
font-size: 10px;
color: #fff;
padding: 2px 0 0 0;
line-height: 11px;
width: 30px;
z-index: 11;
background-color: #E78211;
text-align: center;
font-family: sans-serif;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="det-sl-wrp">
<div class="mn-img">
<div class="sl-lft"></div>
<img class="full-img" src="img/img/a.jpg">
<img class="full-img" src="img/img/b.jpg">
<img class="full-img" src="img/img/c.jpg">
<img class="full-img" src="img/img/d.jpg">
<img class="full-img" src="img/img/a.jpg">
<img class="full-img" src="img/img/c.jpg">
<img class="full-img" src="img/img/b.jpg">
<img class="full-img" src="img/img/d.jpg">
<div class="sl-rgh"></div>
</div>
<div class="thumb-wrp">
<div class="thm-img">
<img src="img/img/1.jpg">
</div>
<div class="thm-img">
<img src="img/img/2.jpg">
</div>
<div class="thm-img">
<img src="img/img/3.jpg">
</div>
<div class="thm-img">
<img src="img/img/4.jpg">
</div>
<div class="thm-img">
<img src="img/img/1.jpg">
</div>
<div class="thm-img">
<img src="img/img/2.jpg">
</div>
<div class="thm-img">
<img src="img/img/3.jpg">
</div>
<div class="thm-img">
<img src="img/img/4.jpg">
</div>
</div>
</div>
这是因为事件冒泡。(什么是事件冒泡和捕获?)
你可以从下面的链接看到mouseover/mouseout和mouseenter/mouseleave的区别。
http://www.quirksmode.org/dom/events/mouseover.html你的问题的解决办法是……
thmb_wrap.on('mouseleave', function () {
$('.numeric').stop().fadeOut(0);
});
Working JS Fiddle
https://jsfiddle.net/ebilgin/cg5135xL/3/你只需要mouseleave
事件:)
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)