我正在重新设计一个Opencart商店,我遇到了一个由jQuery引起的意外问题。
我必须说,遗憾的是我对jQuery没有任何了解。我是一个只需处理这个问题的图形设计师,所以我无法确定是什么导致它。
所以这就是其中一个页面:http://refletnature.com/tout-sur-la-rose-damascena有一些问题:当你点击图像时,它会淡出,下面的内容会消失。在网站的其他部分也是如此,并且在此处:http://refletnature.com/promotions将产品添加到购物车时。
禁用jQuery时,此问题不存在。 如果有人能帮我解开这个谜团,我会非常高兴!
答案 0 :(得分:0)
问题在于common.js
文件中的这段代码。我只复制了最小化以查看JSFiddle中的问题:http://jsfiddle.net/w9p42kcj/
$('.success img, .warning img, .attention img, .information img').live('click', function() {
$(this).parent().fadeOut('slow', function() {
$(this).remove();
});
});
它基本上会在click
(或class="information"
或warning
或success
)的div下的任何图片上收听attention
事件,并隐藏所有内容图像的父级向下(非常多)然后删除单击的图像。
您遇到问题的原因是,information
类用于您可以点击关闭的信息面板,以及图像周围div的样式。
<强>解决方案:强>
更改页面中<div class="information">
的类以及使用.information的任何CSS样式,以使用其他类名。
在这个JSFiddle中:http://jsfiddle.net/w9p42kcj/1/我只是将该类从information
重命名为info
,点击行为将停止。
以下说明:
现在注释掉这些行(直到你弄清楚你想要发生什么:
//$('.success img, .warning img, .attention img, .information img').live('click', function() {
// $(this).parent().fadeOut('slow', function() {
// $(this).remove();
// });
//});
一种解决方案是确保图像位于另一个DIV中,该DIV将控制删除的内容,但点击图像的实际所需目标在网站上并不明显。 单击图像时为什么会消失?
猜测这些div不应该将information
作为他们的一个类。我认为点击效果可能是弹出通知/警告/信息等。