帮助Mootools在我丑陋的代码中找到冲突

时间:2009-10-04 19:25:08

标签: javascript mootools joomla1.5

我需要帮助找到我的代码中的冲突,下面是我丑陋的代码(我刚刚开始编写我的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生成了2行并使用它。

  // 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 个答案:

答案 0 :(得分:1)

我和理查德在一起 - 我会使用一个未压缩的版本,使用firebug并加载一些console.log()来确定问题所在。

我建议您通过jslint.com运行代码 - 它会显示一些问题:

  1. 第52行:要注释掉JavaScript,请使用// NOT
  2. 第78行问题28:缺少分号。
  3. 第112行问题27:缺少分号。
  4. 第146行问题28:缺少分号。
  5. 修复它们,然后再试一次。

答案 1 :(得分:0)

你正在加载两个版本的mootools.js;这对开始来说不是一件好事。您有.../media/system/js/mootools.js.../templates/pennfolio/js/mootools.js

在开发过程中,使用未压缩版本的mootools.js可能是一个好主意,因此如果出现问题,您可以轻松找到源代码(D.prototype is undefined不是一个非常有用的错误消息)。然后在生产中使用压缩版本。