var smallerHeight_css = function() {
var sizeVariable = ".06";
var smallerHeight_height = DISCOVERY_GROUNDUP.groundupHEIGHT * sizeVariable;
$(this).find(".groundup-hotspotCircle").css({
height:smallerHeight_height,
width:"auto"
});
$(this).find(".groundup-hotspotPadding, .groundup-hotspotContent-container").css({
height:smallerHeight_height
});
$(this).find(".groundup-hotspotTitle").css({
height:smallerHeight_height -5,
width:smallerHeight_height - 5,
borderRadius:smallerHeight_height,
top:"50%",
left:"50%",
marginLeft:((smallerHeight_height -5) * ".5") * -1,
marginTop:((smallerHeight_height -5) * ".5") * -1
});
$(this).find(".groundup-hotspotPadding").css({
width:0
});
$(this).find(".groundup-hotspotContent-container").css({
width:0
});
};
我希望能够在.each函数中调用它,但我不确定如何引用$(this)。现在我把它设置成这样,它不起作用。任何帮助都会很棒!
if (DISCOVERY_GROUNDUP.groundupHEIGHT < DISCOVERY_GROUNDUP.groundupWIDTH) {
$(".groundup-hotspot-container").each(function() {
if ( $(this).hasClass("collapsed") ) {
smallerHeight_css();
} else if ( $(this).hasClass("expanded") ) {
}
});
}
答案 0 :(得分:2)
也许将 $(this)作为参数传递:
if (DISCOVERY_GROUNDUP.groundupHEIGHT < DISCOVERY_GROUNDUP.groundupWIDTH) {
$(".groundup-hotspot-container").each(function() {
if ( $(this).hasClass("collapsed") ) {
smallerHeight_css($(this));
} else if ( $(this).hasClass("expanded") ) {
//do something
}
});
}
//see the parameter, el?
var smallerHeight_css = function(el) {
var sizeVariable = ".06";
var smallerHeight_height = DISCOVERY_GROUNDUP.groundupHEIGHT * sizeVariable;
el.find(".groundup-hotspotCircle").css({
height:smallerHeight_height,
width:"auto"
});
el.find(".groundup-hotspotPadding, .groundup-hotspotContent-container").css({
height:smallerHeight_height
});
//.....etc....
答案 1 :(得分:1)
在您设置的上下文中,this
函数上的smallerHeight_css
可能是全局对象。
如果要绑定到每个当前元素,可以尝试将元素直接绑定到函数,如下所示:
$(".groundup-hotspot-container").each(function() {
if ( $(this).hasClass("collapsed") ) {
(smallerHeight_css.bind(this))();
} else if ( $(this).hasClass("expanded") ) {
}
});
使用bind
将this
中的smallerHeight_css
转换为.each循环中的当前元素。
这适用于您设置的示例,但最好将元素传递给函数。