Помогите с Mootools найти конфликт в моем уродливом коде - PullRequest
0 голосов
/ 04 октября 2009

Мне нужна помощь в поиске конфликта в моем коде, ниже мой уродливый код (я только начинаю писать свои mootools и мой подход, я думаю, уродлив) сайт можно увидеть здесь http://tinyurl.com/y9xvm6b. Я думаю, что это противоречит этим линиям

  <script type="text/javascript" src="/lotsforsaleroxascity/media/system/js/mootools.js"></script>
  <script type="text/javascript" src="/lotsforsaleroxascity/media/system/js/caption.js"></script>

в моем коде. что две строки генерируются моей cms и используют его.

  // Global Functions

window.addEvent('domready',function(){


/* ------------------------------------------------------- Menu */

    var Logo = $('logo').getElements('a'),
        LogoPos = Logo.getStyle('backgroundPosition');
    Logo.addEvents({
        mouseenter: function(){
            this.fade(1);
        },
        mouseleave: function(){
            // Morphes back to the original style
            this.fade(0);
        }       
    });         


/* ------------------------------------------------------- Tabs */


        var tabs = new MGFX.Tabs('#foliobotnav .nav','.t1',{

            autoplay: true,

            transitionDuration:500,

            slideInterval:6000,

            hover:true

        });





    var pages = new noobSlide({

        box: $('mcontent_hold'),

        items: $$('#mcontent_hold div'),

        size: 950,

        handles: $$('#logo a').extend($$('#topnav ul li.inpage a')),

        onWalk: function(currentItem,currentHandle){

            <!--$('info4').set('html',currentItem.getFirst().innerHTML);-->

            this.handles.removeClass('active');

            currentHandle.addClass('active');

        }

    });     



/* ------------------------------------------------------- Websites */  

    var dropWEB = $$('#web div.left div.imgwrap')[0];

    $$('#web .right .imgwrap').each(function(item)

    {

        item.addEvent('click', function(e)

        {

            e = new Event(e).stop();

            dropWEB.removeEvents();

            dropWEB.empty()

            var a = item.clone();

            a.inject(dropWEB);

            dropWEB.style.height = "400px";

        });



    });

/* ------------------------------------------------------- Websites End*/



/* ------------------------------------------------------- Identity */  

    var dropID = $$('#artwork div.left div.imgwrap')[0];

    $$('#artwork .right .imgwrap').each(function(item)

    {

        item.addEvent('click', function(e)

        {

            e = new Event(e).stop();

            dropID.removeEvents();

            dropID.empty()

            var a = item.clone();

            a.inject(dropID);

            dropID.style.height = "400px";

        });



    });

/* ------------------------------------------------------- Identity End*/           



/* ------------------------------------------------------- Artworks */  

    var dropART = $$('#identity div.left div.imgwrap')[0];

    $$('#identity .right .imgwrap').each(function(item)

    {

        item.addEvent('click', function(e)

        {

            e = new Event(e).stop();

            dropART.removeEvents();

            dropART.empty()

            var a = item.clone();

            a.inject(dropART);

            dropART.style.height = "400px";

        });



    });

/* ------------------------------------------------------- Artworks End*/   


/* ------------------------------------------------------- Contact */

$("form").submit(function(){

// 'this' refers to the current submitted form
var str = $(this).serialize();

   $.ajax({
   type: "POST",
   url: "contact.php",
   data: str,
   success: function(msg){

$("#msg").ajaxComplete(function(event, request, settings){

if(msg == 'OK') // Message Sent? Show the 'Thank You' message and hide the form
{
result = '<div class="notification_ok">Your message has been sent. Thank you!</div>';
$("#formwrap").hide();
}
else
{
result = msg;
}

$(this).html(result);

});

}

 });

return false;

});



/* ------------------------------------------------------- Contact */



});

Спасибо!

--- Отредактировано ниже

Кстати, конфликты, которые я испытываю, это все мои пользовательские функции в globals.js не являются функциями. кнопки не работают, слайдер не работает, а также просмотрщик миниатюр.

Еще раз спасибо.

Ответы [ 2 ]

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

Я с Ричардом об этом - я бы использовал несжатую версию, использовал firebug и загрузил несколько console.log (), чтобы определить, где проблема.

Я рекомендую запустить ваш код через jslint.com - он показывает несколько проблем:

  1. Строка 52: Чтобы закомментировать JavaScript, используйте // NOT
  2. Проблема в строке 78, символ 28: Отсутствует точка с запятой.
  3. Проблема в строке 112, символ 27: Отсутствует точка с запятой.
  4. Проблема в строке 146, символ 28: Отсутствует точка с запятой.

Исправьте это, затем попробуйте снова.

0 голосов
/ 04 октября 2009

Вы загружаете две версии mootools.js; это не может быть хорошо для начала. У вас есть .../media/system/js/mootools.js и .../templates/pennfolio/js/mootools.js.

Во время разработки, вероятно, будет хорошей идеей использовать несжатую версию mootools.js, чтобы вы могли легко обойти источник, если есть проблема (D.prototype is undefined не очень полезное сообщение об ошибке). Тогда используйте сжатую версию в производстве.

...