Javascript Jquery切换类问题
最初悬停有效,mouseenter上添加了“over”类,mouseout上删除了“over”类,但在使用class=“risk”对段落进行悬停后,toggle类会被卡住,mouseover将其删除,而不是添加类(与预期功能相反)Javascript Jquery切换类问题,javascript,jquery,Javascript,Jquery,最初悬停有效,mouseenter上添加了“over”类,mouseout上删除了“over”类,但在使用class=“risk”对段落进行悬停后,toggle类会被卡住,mouseover将其删除,而不是添加类(与预期功能相反) //将鼠标悬停在上方时更改风险贴图点颜色 //右侧的风险列表项 $(“p.risk”).bind(“mouseenter mouseleave”,函数(e){ $(this.toggleClass(“over”); var pointId=“ctl00\u Conte
//将鼠标悬停在上方时更改风险贴图点颜色
//右侧的风险列表项
$(“p.risk”).bind(“mouseenter mouseleave”,函数(e){
$(this.toggleClass(“over”);
var pointId=“ctl00\u ContentPlaceHolderMain”+$(this.attr(“id”);
var pointArray=$(“.riskMapPoint”);
对于(i=0;i为什么不为mouseenter
和mouseleave
设置两个单独的函数。设置mouseenter
添加类和mouseleave
删除类。我认为问题在于,例如,如果mouseleave
事件未触发(浏览器失去焦点,我认为可能导致此问题)然后,mouseenter
函数将删除类,而不是添加类。为什么不为mouseenter
和mouseleave
使用两个单独的函数呢?让mouseenter
添加类和mouseleave
删除类。我认为问题在于,例如,mouseleave
event未启动(我认为浏览器失去焦点可能导致此问题),则mouseenter
函数将删除类而不是添加它。为什么不简单地使用hover方法?在hover上设置关联点的背景/z索引,并在离开元素时将其删除
$('p.risk').hover(
function() {
var $this = $(this);
$this.addClass('over');
$('.riskMapPoint')
.find('[id$=' + $this.attr('id') + ']')
.css({ 'background-color' : '#3D698A', 'z-index' : 2 } );
},
function() {
var $this = $(this);
$this.removeClass('over');
$('.riskMapPoint')
.find('[id$=' + $this.attr('id') + ']')
.css({ 'background-color' : '#000000', 'z-index' : 1 } );
}
});
为什么不简单地使用hover方法呢?在hover上设置关联点的background/z-index,并在离开元素时将其删除
$('p.risk').hover(
function() {
var $this = $(this);
$this.addClass('over');
$('.riskMapPoint')
.find('[id$=' + $this.attr('id') + ']')
.css({ 'background-color' : '#3D698A', 'z-index' : 2 } );
},
function() {
var $this = $(this);
$this.removeClass('over');
$('.riskMapPoint')
.find('[id$=' + $this.attr('id') + ']')
.css({ 'background-color' : '#000000', 'z-index' : 1 } );
}
});
尝试不更改代码中的css值,而是使用jquery添加类和removeClass。几个月前我遇到了悬停问题,应用css类而不是手动更改值解决了我的问题。尝试不更改代码中的css值,而是使用jquery添加类和removeClass。几个月前我遇到了悬停问题使用css类而不是手动更改值解决了我的问题。浏览器中的JavaScript错误控制台中有错误吗?@shawn:您不应该回滚编辑,您知道,编辑它是有原因的。@shawn:编辑是为了解决代码的格式问题,使其更具可读性。是的,shawn。您不明白rul吗这个游戏的错误?不,埃里克,我显然不知道。哈哈,我是堆栈溢出新手,不知道“回滚”按钮会做什么。现在我知道浏览器中的JavaScript错误控制台中有错误吗?@shawn:你不应该回滚编辑,你知道,它被编辑是有原因的。@shawn:编辑是为了修复代码的格式问题,以确保它更具可读性。是的,肖恩。你不知道这个游戏的规则吗?不,埃里克,我显然不知道。哈哈,我是堆栈溢出新手,不知道回滚按钮会做什么。现在我完全知道了。分开两个,玩结果,看看它是否表现出相同的行为。完全正确。分开两个,玩结果,看看它是否表现出相同的行为同样的行为。