2014-04-23 195 views
2

我正在使用hoverizr http://www.iliasiovis.com/hoverizr/点击取消jquery功能

以下是我的代码。我希望$(“a.hamburg> img”)和$(“a.karlsruhe> img”)切换hoverizr功能,因此当它们被点击时,该功能被移除并显示全色图像,并且当再次点击时,该功能是添加。

$(document).ready(function() { 
$("a.hamburg>img").hoverizr(); 
$("a.karlsruhe>img").hoverizr(); 
}); 

编辑:悬停的推移颜色和悬停出的B/W再次,这很好,但点击它应该是颜色,并保持颜色,这就是我想要达到

+0

你的意思是你要为这个插件,但是,点击,而不是在悬停同样的效果? –

+0

没有我的意思是把它的颜色和盘旋出来,这是很好,但点击它应该是颜色和保持颜色 – Neox

+0

只有当有一种方法来摧毁插件 – adeneo

回答

1

的想法:插件通过在图像上叠加画布元素来工作。插件生成的画布有一个类.canv这个事实可以用来消除插件生成的效果。以下代码处理元素上的单击事件,并在事件触发时移除所需的画布,从而消除插件生成的效果。

$(document).ready(function() { 
    $("a.hamburg>img").hoverizr(); 
    $("a.karlsruhe>img").hoverizr(); 
    $("a.hamburg>img,a.karlsruhe>img").click(function(){ 
    $(this).closest(".canv").remove(); 
    }); 
}); 

如果您想再次调用它切换尝试:

var toggle=true; 
    $(document).ready(function() { 
     $("a.hamburg>img").hoverizr(); 
     $("a.karlsruhe>img").hoverizr(); 
     $("a.hamburg>img,a.karlsruhe>img").click(function(){ 
     if(toggle){ 
      $(this).closest(".canv").remove(); 
      toggle=false; 
     }else{ 
      $(this).hoverizr(); 
      toggle=true; 
     } 
     }); 
    }); 
+0

作品感谢,但是如果我想在点击时再次显示它,如clicktoggle? – Neox

+0

看到编辑的代码,让我知道它是否工作。 –

+1

这似乎是一个代码唯一的答案。如果你能解释这是如何工作或解决OP的问题,这将使这个答案更有用! –