Что не так с моим кодом слайдов mootools?

Я делаю раздел контента типа «аккордеон» с помощью mootools. Вот HTML, с которым я работаю:

<div class="content-add">
    <div class="item html 18" id="dditem_26">
        <a id="ddlink_26"></a>
        <a href="#" class="open ddheader"><strong>F. Tony Hosseini</strong></a>
        <p>F. Tony Hosseini is the Founder and Chairman of the FTH Group of companies.  He has over 30 years of experience in international business development, finance and private syndication work, developing and syndicating over $500 million dollars of industrial, commercial and residential projects around the world.</p>
        <p>Before coming to the United States, Tony lived in Iran (Persia) where he served as the project Quality Control officer for National Construction Company, developing the natural gas line between Iran and the USSR. He was also a General Partner for Iran-America Insurance Company, a multi-line insurance operation in the southern region of Iran.</p>
    </div>
    <div class="item html 19" id="dditem_25">
        <a id="ddlink_25"></a>
        <a href="#" class="open ddheader"><strong>Robert J. O'Leary</strong></a>
        <p>Robert J. (Bob) O'Leary is Vice Chairman of the FTH Group of companies.  He also serves as a partner at Insignia Building, LLC, a leading construction company operating in high-end residential communities in the Carolinas.  Bob brings with him over 30 years to the field of corporate public affairs, including communications, government affairs and brand management.</p>
        <p>A native of Pennsylvania, Bob is a graduate of Penn State University, where he was named an Alumni Fellow.  He serves on the Board of Visitors of the university's College of Communications, the college's campaign development committee, and regularly guest lectures and mentors students at the university.  He resides in Greenville, South Carolina.</p>            
    </div>
</div>

Цель состоит в том, чтобы весь контент под каждым ‹a› с классом «открыть» выдвигался или вставлялся (переключаться) всякий раз, когда нажимается a.open. Вот mootools JS, которые у меня есть:

$$('#content a.open').each(function(_link,i){
    var _slide = _link.getNext('div.slide');
    _slide.fx = new Fx.Slide(_slide).hide();
    _link.addEvent('click', function(){
        _link.toggleClass('open-slide');
        _slide.getParent('.contentcol').getElements('.slide').each(function(slide) {
            slide.slide('out');
        });
    _slide.fx.toggle();
});

Ползунок «работает», как ожидалось, за исключением того, что в большинстве случаев слайды очень прерывистые и «кричащие», так как во время слайда содержимое случайным образом исчезает и быстро появляется снова. Пример этого см. На странице http://fthgroup.blueinkcms.com/about_us/leadership_team# и щелкните одно из имен.

Есть идеи, что я мог делать неправильно?


person Mike Crittenden    schedule 09.02.2010    source источник


Ответы (1)


опубликованный вами код не соответствует разметке вашего сайта. вам также следует перейти на mootools 1.2.4, если это возможно.

в любом случае, устранение неполадок этого и Fx.Slide для проблем с низкой производительностью (через исходные файлы вашего сайта), вероятно, заняло бы гораздо больше времени, чем написание его с нуля.

http://www.jsfiddle.net/P9zJa/ -> это работает нормально, переработано Чтобы использовать класс, я надеюсь, что это даст вам некоторые идеи. с небольшими изменениями или без изменений HTML, которые он улучшает, но обратите внимание, я заключил p в div.content

person Dimitar Christoff    schedule 09.02.2010