1

嗨,我整天都遇到麻烦,它几乎可以工作但不完全,一旦单击缩略图,我需要相应的 p(#p-1 等)保持突出显示。我已经为图像滑块使用了插件,我稍微自定义了它,并且 mouseover 和 mouseleave 事件工作正常,但单击事件似乎没有将类添加到目标段落。

jsfiddle 示例http://jsfiddle.net/RVYnb/7/

相关的 jQuery 是在示例中内联编写的。

这让我发疯,请帮助!

4

2 回答 2

2

错误出现在图像滑块插件中。它还绑定到代码中的单击事件。

这是插件中的相关代码部分:

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;
            });
        });

问题是最后的“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();
                });
            });

它应该可以工作。

于 2011-05-28T15:43:00.503 回答
0

根据“小提琴”,在我看来,您的“点击”事件不适用于您的缩略图。它永远不会将“点击”类添加到您的

.

我对此提出了“警告”:

$("#t1").live("click", function() {
    alert('clicking');
    $("#p-1").addClass("clicked").addClass("highlighted");
});

并且警报从未弹出。

于 2011-05-28T15:21:25.830 回答