Как мне загрузить внешний виджет при нажатии на li в списке?
Если у меня есть элемент списка, как это:
<li class="" id="view_ideas"><a href="#"><span>View ideas</span></a>
И я хочу, чтобы при нажатии на него загружался следующий виджет Get Satisfaction Engage:
<div id="getsat-widget-6135"></div>
<script type="text/javascript" src="https://loader.engage.gsfn.us/loader.js"></script>
<script type="text/javascript">
if (typeof GSFN !== "undefined") { GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"}); }
</script>
Что я должен делать? Я пытался использовать что-то вроде этого:
<script type ="text/javascript">
jQuery(function () {
jQuery('#view_ideas').click(function(){
var str = jQuery(this).text();
jQuery('#getsat-widget-6135').load('<div id="getsat-widget-6135"></div>
<script type="text/javascript" src="https://loader.engage.gsfn.us/loader.js"></script>
<script type="text/javascript">
if (typeof GSFN !== "undefined") { GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"});
}
</script>');
});
});
Я пробовал что-то вроде этого:
<script type="text/javascript">
var script = document.createElement('
if (typeof GSFN !== "undefined") { GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"});
jQuery("#getsat-widget-6135").append("#view_ideas"); }
</script>')
В основном, ничего не происходит при нажатии на li. Я также играл с.innerHTML и.text, я пытался поместить JavaScript прямо в li или span, и я пытался заменить href скриптом (из-за того, что li и / или виджет исчезли) или показывать в странных местах без каких-либо событий) и т. д.
Вот скрипка, где я играл:
2 ответа
Попробуйте это, вы были довольно близко:
jQuery(function () {
jQuery('#view_ideas').click(function () {
if (typeof GSFN !== "undefined") {
$('#getsat-widget-6135').empty();
GSFN.loadWidget(6135,{"containerId":"getsat-widget-6135"}); }
});
});
а также
<script type="text/javascript" src="https://loader.engage.gsfn.us/loader.js">
</script>
<ul id="nav1">
<li class="" id="view_ideas"><a href="#"><span>View ideas</span></a>
</li>
</ul>
<div id="getsat-widget-6135"></div>
Я бы использовал css и установил бы на дисплей ни один элемент, который вы хотите загрузить. Затем вы можете сделать так, чтобы у li был щелчок мышью, который отображал бы элемент, изменив отображение на блок (или что вы хотите), вы можете сделать это с помощью document.getElementById(идентификатор нужного элемента).style.display='block'