我試圖根據目標的屬性動態更改顯示和隱藏事件。例如,有時我可能需要鼠標懸停,其他時間點擊。同樣,我希望能夠調整效果,例如調整滑動時間。QTip2動態顯示/隱藏事件和slideDown
我找到了一種方法來動態調整位置在Is it possible to set position of a Qtip programmatically?,但由於它在節目上運行,顯然不會工作。
content.text可以使用回調函數,但我不相信show可以。
那麼,我該如何動態改變顯示和隱藏(並理想的slideDown時機)?
工作代碼如下,其中部分工作沒有註釋掉。請注意,我可以更改筆尖大小,但如果更改高度,則工具提示無法正確顯示 - 直到我滾動窗口。這不是那麼重要,而改變表演和隱藏事件是。
function setupQtips()
{
$("*[qtipiddiv]").each
(
function()
{
$(this).qtip
(
{
overwrite: false,
content:
{
text: function (event, api)
{
var strId = $(this).attr('qtipiddiv');
return ($('#' + strId));
},
title:
{
text: function (event, api)
{
return ($(this).attr('qtiptitle'));
}
}
},
show:
{
event: 'click',
effect: function (offset)
{
$(this).slideDown(100);
},
solo: true
},
hide:
{
event: 'unfocus'
},
position:
{
viewport: $(window),
adjust:
{
screen: true
}
},
style:
{
classes: 'qtip-rounded qtip-shadow'
},
events:
{
show: function (event, api)
{
//Position
var elmTarget = $(api.elements.target[0]);
var strPositionMy = elmTarget.attr('qtippositionmy');
if (strPositionMy != undefined)
{
elmTarget.qtip('option', 'position.my', strPositionMy);
}
var strPositionAt = elmTarget.attr('qtippositionat');
if (strPositionAt != undefined)
{
elmTarget.qtip('option', 'position.at', strPositionAt);
}
//Height/width
var strWidth = elmTarget.attr('qtipwidth');
if (strWidth != undefined)
{
elmTarget.qtip('option', 'style.width', strWidth);
}
var strHeight = elmTarget.attr('qtipheight');
if (strHeight != undefined)
{
elmTarget.qtip('option', 'style.height', strHeight);
}
//Tip Height/width
//var strTipWidth = elmTarget.attr('qtiptipwidth');
//if (strTipWidth != undefined)
//{
// elmTarget.qtip('option', 'style.tip.width', strTipWidth);
//}
//var strTipHeight = elmTarget.attr('qtiptipheight');
//if (strTipHeight != undefined)
//{
// elmTarget.qtip('option', 'style.tip.height', strTipHeight);
// //api.set('style.tip.height', strTipHeight);
//}
//Title Button
var strTitleButton = elmTarget.attr('qtipbutton');
if (strTitleButton != undefined)
{
elmTarget.qtip('option', 'content.title.button', true);
}
//var strSlide = elmTarget.attr('qtipslide');
//if (strSlide != undefined)
//{
// elmTarget.qtip('option', 'show.effect.slideDown', strSlide);
//}
}
}
}
)
}
);
return;
}
_「問題,要求代碼必須表現出對問題的認識極少被解決**包括嘗試的解決方案**,爲什麼他們沒有工作,和預期結果參見:[堆棧溢出問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)「_。 – Sparky