我很难过这个,真的很感激别人的帮助。
我定制了高压滑块以与wordpress集成。通过highslide.config.js文件中的以下代码,我可以为某些元素添加类名,并根据特定条件通过onClick调用传递不同的属性。
一切正常,直到我添加以下代码:
if(hsGroupByWpGallery){
slideshowGroup: this.parentNode.parentNode.parentNode.id
};

当存在上述代码时,不仅一个语句不执行,而且整个过程停止工作。即使if语句类似于if(1 = 1){};它仍然破裂。
如果我只是简单地幻灯片组:this.parentNode.parentNode.parentNode.id或者什么都没有(我正在寻找的两个选项),两者都做我期望的事情。我只需要一个if语句来切换它们。
以下是相关代码:
jQuery(document).ready(function() {
var hsCustomGalleryGroupClass = 'fbbHighslide_GalleryGroup';
var hsCustomGalleryGroupChecker = 0;
var hsGroupByWpGallery = true;
jQuery('.' + hsCustomGalleryGroupClass).each(function(){
hsCustomGalleryGroupChecker++;
return false;
});
if (hsCustomGalleryGroupChecker > 0){
jQuery('.' + hsCustomGalleryGroupClass).each(function(i, $item) {
var grpID = $item.id;
jQuery('#' + grpID + ' .gallery-item a').addClass('highslide').each(function() {
this.onclick = function() {
return hs.expand(this, {
slideshowGroup: grpID
});
};
});
});
} else {
jQuery('.gallery-item a').addClass('highslide').each(function() {
this.onclick = function() {
return hs.expand(this, {
// This is the problem if statement
if(hsGroupByWpGallery){
slideshowGroup: this.parentNode.parentNode.parentNode.id
};
});
};
});
};
});

提前致谢。
答案 0 :(得分:2)
问题是你正在尝试分配条件属性..你不能在对象定义中有if
条件
jQuery('.gallery-item a').addClass('highslide').each(function () {
this.onclick = function () {
var obj = {};
//assign the property only if the condition is tru
if (hsGroupByWpGallery) {
obj.slideshowGroup = this.parentNode.parentNode.parentNode.id;
}
return hs.expand(this, obj);
};
});
另一种方法是
jQuery('.gallery-item a').addClass('highslide').each(function () {
this.onclick = function () {
//if the flag is true sent an object with the property else an empty object
return hs.expand(this, hsGroupByWpGallery ? {
slideshowGroup: this.parentNode.parentNode.parentNode.id
} : {});
};
});
答案 1 :(得分:0)
我想你可能想要这个,基于其他代码:
jQuery('.gallery-item a').addClass('highslide').each(function() {
this.onclick = function() {
if(hsGroupByWpGallery){
return hs.expand(this, {
slideshowGroup: this.parentNode.parentNode.parentNode.id
});
}
};
});