当鼠标滚过父div时,尝试定位子div的单个实例时出现问题。
当页面上只有.slidswap_moused_over
(父)类的一个实例时,当前编写的代码工作正常,但是如果有多个实例,则两者都保持相同的宽度。
这是"最有效的"我有jQuery: -
jQuery(function() {
jQuery(".slidswap_moused_over").mousemove(function(e) {
var offset = jQuery(this).offset();
var relativeX = (e.pageX - offset.left);
var relativeY = (e.pageY - offset.top);
jQuery(".slidswap_left_image").css({ "width": relativeX });
jQuery('.slidswap_drag_message').css({ "opacity": 0 });
});
});
在这里演示 - http://jsfiddle.net/5DjPw/5/
我知道我应该使用.parent,.children,.siblings或.next,但我不确定语法。
任何帮助将不胜感激:)
答案 0 :(得分:6)
使用this
jQuery(".slidswap_moused_over").mousemove(function(e) {
var offset = jQuery(this).offset();
var relativeX = (e.pageX - offset.left);
var relativeY = (e.pageY - offset.top);
jQuery(".slidswap_left_image", this).css({ "width": relativeX });
jQuery('.slidswap_drag_message', this).css({ "opacity": 0 });
});
答案 1 :(得分:1)
使用jQuery(this)来保存个人.slidswap_moused_over
见脚本: -
jQuery(function() {
jQuery(".slidswap_moused_over").mousemove(function(e) {
var offset = jQuery(this).offset();
var relativeX = (e.pageX - offset.left);
var relativeY = (e.pageY - offset.top);
jQuery(this).find(".slidswap_left_image").css({ "width": relativeX });
jQuery(this).find('.slidswap_drag_message').css({ "opacity": 0 });
});
});
答案 2 :(得分:1)
想想我已经为你修好了吗?对不起,如果我已经调整了一些部分。
jQuery(function($) {
$(".slidswap_moused_over")
.each(function(){
$(this)
.mousemove(function(e) {
var offset = $(this).offset();
var relativeX = (e.pageX - offset.left);
var relativeY = (e.pageY - offset.top);
$(this).find(".slidswap_left_image").css({ "width": relativeX });
})
.mouseover(function(e){
$(this).find(".slidswap_drag_message").animate(
{
"opacity": 0
},250);
});
})
});