Не могу получить доступ к аккордеону в IFrame - PullRequest
0 голосов
/ 07 октября 2009

Я использую гармошку из jQuery вместе с DotNetNuke. Теперь страница DNN загружается в IFrame динамически, поэтому событие Page_load страницы, которая включает IFrame, IFrame, еще не заполнено.

<div class="dvFrame">
            <iframe class="IFrame" marginheight="0" marginwidth="0" frameborder="0" runat="server" id="frmDNN" ></iframe>
</div>

На странице загрузки:

frmDNN.Attributes.Add("src", ConfigurationManager.AppSettings["dnn"] + request);

Аккордеон, который загружен в IFrame:

<div id="accordion">
    <div>
      <h3><a href="#">First</a></h3>
      <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
    </div>
    <div>
       <h3><a href="#">Second</a></h3>
       <div>Phasellus mattis tincidunt nibh.</div>
    </div>
</div>

Теперь с некоторым Javascript я должен быть в состоянии сказать, что div должен действовать как гармошка. Но с каждой попыткой я, похоже, терплю неудачу.

$("#accordion").accordion({ header: "h3" });

Может кто-нибудь помочь мне с этой проблемой, это было бы высоко ценится.

1 Ответ

1 голос
/ 08 октября 2009

Я не знаю много о DotNetNuke, но я думаю, что если вы определяете JavaScript-аккордеон на главной странице и HTML-код аккордеона в iFrame, вам может потребоваться изменить JavaScript на:

window.frmDNN.$("#accordion").accordion({ header: "h3" });
...