javascript - 自定义 jQuery 方法独立作用于元素的每个实例

标签 javascript jquery

我创建了一种方法,可以在鼠标悬停时在图像的一侧显示黑条。当它只有一个图像时一切都很好,但是当应用于多个图像时,如果鼠标悬停在两个图像上,黑条就会出现。

是否可以让每张图片彼此独立操作,以便鼠标悬停事件仅激活该特定图片的黑条?


jsFiddle - http://jsfiddle.net/7kw8z/11/


我通过 $("img.edit").panzoom();

调用方法

这是方法:

!function($){


$.fn.panzoom = function() {
    var $this = $(this);
    this.imagesLoaded(function(){

        $this.wrap('<div class="img_wrapper" />');

        var imgEl = $this.parent(".img_wrapper");

        imgEl.width($this.width());
        imgEl.height($this.height());
        //imgEl.offset({top:$this.offset().top,left:$this.offset().left});

        imgEl.append('<div class="img_menu" />');
        menuEl = imgEl.children(".img_menu");


        imgEl.hover(function() {
            $(menuEl).css("visibility", "visible");
        },  function() {
            $(menuEl).css("visibility", "hidden");
        });

    });
}

}(window.jQuery);

最佳答案

你可以做到

$.fn.panzoom = function() {
return this.each(function(){
    var $this = $(this);
    $this.imagesLoaded(function(){
        $this.wrap('<div class="img_wrapper" />');

        var imgEl = $this.parent(".img_wrapper");

        imgEl.width($this.width());
        imgEl.height($this.height());

        imgEl.append('<div class="img_menu" />');
        var menuEl = imgEl.children(".img_menu");

        imgEl.hover(function() {
            menuEl.css("visibility", "visible");
        },  function() {
            menuEl.css("visibility", "hidden");
        });
    });
});
}     

http://jsfiddle.net/7kw8z/21/

关于javascript - 自定义 jQuery 方法独立作用于元素的每个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17067849/

相关文章:

php - 为什么我的 Ajax 发布脚本不起作用?

javascript - Flask 和 ReactJS 文件上传不起作用

jquery - 变换 y 轴上的元素并将其左右对齐到外部元素

javascript - 如何将 <td> 标签内的图像位置设置为左上角,而文本位于左下角

javascript - 您可以编辑 Discord.js 中预先存在的消息嵌入对象吗?

javascript - 限制数量的脚本。文本框中的字符不起作用。有任何想法吗?

javascript - Jquery Flot用DateTime填充两个数据集并做出重叠效果

javascript - vue-router 生成的两个导航栏,active-class 只高亮一个链接

javascript - Chrome 扩展认证

javascript - 如果子/嵌套重复有值,则隐藏 ng-repeat