2014-04-23 271 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的問題,這將使這個答案更有用! –