javascript - jQuery图片悬停和点击冲突

标签 javascript jquery css image

我正在尝试在悬停和单击时对图像进行放大效果,图像应保持放大状态。我有一组 5 张图片,每次我将鼠标悬停在每张图片上时,它们都会正确放大,而当我移动鼠标时,它们会按照我想要的方式缩小。

问题是当我尝试选择图像时。当我这样做时,图像应该稍微变大并保持原样,而不是缩小尺寸并恢复正常。这就是我认为 hoverclick 功能之间的冲突所在。此外,当我选择另一张图片时,之前放大(选择)的另一张图片应该恢复到原始大小,但由于此冲突,这现在也不起作用。

我已经围绕 S.O 进行了一些搜索,但找不到任何对我有帮助的东西。

下面是我的代码:

//Item hover

$(".anItem").hover(function() {
    $(this).addClass('transition');    
}, function() {
    $(this).removeClass('transition');
});

//Select Item

$(".anItem").click(function(){  
    $(".anItem").each(function() {
        $(this).removeClass("selectedItem");
    });
    if($(this).hasClass("selectedItem")){
        $(this).removeClass("selectedItem");
        itemColor = "";
    }else{
        itemColor = $(this).data("color");
        $(this).addClass("selectedItem");
        $("#oneBtn").show();
    }                           
});

CSS

.anItem{
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
    cursor: pointer;
}

.transition {
    -webkit-transform: scale(1.3); 
    -moz-transform: scale(1.3);
    -o-transform: scale(1.3);
    transform: scale(1.3);
}

.anItem{
    -webkit-transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -ms-transition: all .4s ease-in-out;
}
/*
.anItem:hover{
    background-color: #ddd;
    opacity: 0.7;
}
*/
.selectedItem{
    width: 230px;
    height: auto;
}

最佳答案

你想要这样的东西吗?

See this fiddle

我已经像这样简化了你的 JS 代码:

$(function(){
  //Select Item
  $(".anItem").click(function(){  
    $('div').find('img').addClass('anItem');
    $(this).removeClass("anItem");   
  });
});

:hover 部分仅在我的代码中使用 CSS 完成。

关于javascript - jQuery图片悬停和点击冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36283922/

相关文章:

javascript - Jquery 窗口滚动....如果有的话

css - 如何将 CSS 滤镜应用于背景图像

css - Firebug 控制台和 css 错误

css - 如果列表项被打开/悬停,父链接必须有不同的颜色

javascript - React.js 中的安全问题

javascript - 如何根据 jQuery 中先前的选择标签获取特定的选择选项?

jquery - 选择多个元素 jQuery

javascript - 动态生成表格时使用按钮时AJAX函数触发一次但不会触发第二次

javascript - 如何关闭在其外部单击的div

javascript - 如何从 jquery 哈希中获取多个值