嗨,我一整天都遇到麻烦,它几乎可以工作但不完全,我需要相应的p(#p-1等),一旦点击拇指指甲就保持高亮显示。我使用了一个插件用于图像滑块,我已经稍微自定义了鼠标悬停和mouseleave事件工作正常,但点击事件似乎没有将类添加到目标段落。
关于jsfiddle http://jsfiddle.net/RVYnb/7/
的示例相关的jQuery是在示例中内联编写的。
这让我发疯了,请帮忙!答案 0 :(得分:2)
错误位于图像滑块插件中。它还绑定到代码中的click事件。
以下是插件中的相关代码部分:
jQuery("div#thumbSlider" + j + " a").each(function(z) {
jQuery(this).bind("click", function(){
jQuery(this).find("p.tmbrdr").css({borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity});
jQuery(this).parent().parent().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({borderColor: settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity});
var cnt = -(pictWidth*z);
(cnt != container.find("ul").css("left").replace(/px/, "")) ? container.find("span.typo").animate({"opacity": 0}, 250) : null ;
container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc, function(){container.find("span.typo").animate({"opacity": settings.typoFullOpacity}, 250)});
return false;
});
});
问题是最后的“返回错误”。它会阻止传播到其他点击事件。
将代码更改为以下内容:
Query(this).bind("click", function(e){
jQuery(this).find("p.tmbrdr").css({borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity});
jQuery(this).parent().parent().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({borderColor: settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity});
var cnt = -(pictWidth*z);
(cnt != container.find("ul").css("left").replace(/px/, "")) ? container.find("span.typo").animate({"opacity": 0}, 250) : null ;
container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc, function(){container.find("span.typo").animate({"opacity": settings.typoFullOpacity}, 250)});
e.preventDefault();
});
});
它应该有用。
答案 1 :(得分:0)
根据“小提琴”,我认为你的“点击”事件不适合你的缩略图。它永远不会将“点击”类添加到您的
。
我对此提出了“警告”:
$("#t1").live("click", function() {
alert('clicking');
$("#p-1").addClass("clicked").addClass("highlighted");
});
并且警报永远不会弹出。